0

私が作成した MySQL クエリを INDEX する方法を誰かに教えてもらえないだろうかと思っていました。120 行しかないデータベースからロードするには、永遠に時間がかかります。

私のクエリは次のとおりです。

 $sql = "SELECT firstname, lastname, email, phone, username, password, status, 
memberview, statuschangedate FROM csvdata ORDER BY lastname ";

$sth= $DBH->prepare($sql);
$sth->execute();

while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
code
}

お時間をいただきありがとうございます!

編集 --------------------------

これが実際に起こっていることです -

   $sql = "SELECT firstname, lastname, email, phone, username, password, status, memberview, statuschangedate FROM csvdata ORDER BY lastname ";
   $sth= $DBH->prepare($sql);
   $sth->execute();
   $i = 0;
                                echo "<table class='alltable'> 
                                      <tr class='firsttr' style='background:gray;'>
                                      <td>First Name </td>
                                      <td>Last Name </td>
                                      <td>Email </td>
                                      <td>Phone </td>
                                      <td>Username </td>
                                      <td>Password </td>
                                      <td>Status </td>
                                      <td>Memberview</td>
                                      <td>Status Change Date</td>
                                      <td>#</td>
                                      </tr>

                                        ";
                                        $j = 0;
                                while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
                                    $csvfirst = $row;
                                    $csvfirstname = $csvfirst['firstname'];
                                    $csvlastname = $csvfirst['lastname'];
                                    $csvemail = $csvfirst['email'];
                                    $csvphone = $csvfirst['phone'];
                                    $csvusername = $csvfirst['username'];
                                    $csvpassword= $csvfirst['password'];
                                    $csvstatus = $csvfirst['status'];
                                    $csvmemberview = $csvfirst['memberview'];
                                    $csvstatuschange = $csvfirst['statuschangedate'];

                                        $memberfirstnamearray[$j]  = $csvfirstname;
                                    $memberlastnamearray[$j]  = $csvlastname;
                                    $memberemailarray[$j]  = $csvemail;
                                    $memberphonearray[$j]  = $csvphone;
                                    $j++;
                                $i++;

                                    echo "
                                            <tr> 
                                        <td>
                                        $csvfirstname
                                        </td>
                                        <td>
                                        $csvlastname
                                        </td>
                                        <td>
                                        $csvemail
                                        </td>
                                        <td>
                                        $csvphone
                                        </td>
                                        <td>
                                        $csvusername
                                        </td>
                                        <td>
                                        $csvpassword
                                        </td>
                                        <td>
                                        $csvstatus
                                        </td>
                                        <td>
                                        $csvmemberview
                                        </td>
                                        <td>
                                        $csvstatuschange
                                        </td>
                                        <td>
                                        $i
                                        </td>

                                      </tr>
                                    ";

                                }
                                $_SESSION['firstnameexport'] = $memberfirstnamearray;
                                $_SESSION['lastnameexport'] = $memberlastnamearray;
                                $_SESSION['emailexport'] = $memberemailarray;
                                $_SESSION['phoneexport'] = $memberphonearray;
                                $_SESSION['num'] = $j;
                                echo "
                                      </table>";

                }

そのため、約 120 人の従業員がデータベースから取得する場合、ロードに約 20 秒かかります。このテーブルにはdivボタンがあり、クロックするとjqueryがvisibility: none表示に変わり、スライドダウンします。

他に何か必要な場合はお知らせください。

編集----------------------

desc csvdata の使用から - 永遠にかかっているのは従業員です。

    'id', 'int(11)', 'NO', 'PRI', NULL, 'auto_increment'
'firstname', 'varchar(105)', 'YES', '', NULL, ''
'lastname', 'varchar(105)', 'YES', '', NULL, ''
'email', 'varchar(105)', 'YES', '', NULL, ''
'phone', 'varchar(105)', 'YES', '', NULL, ''
'username', 'varchar(105)', 'YES', '', NULL, ''
'password', 'varchar(105)', 'YES', '', NULL, ''
'status', 'varchar(105)', 'YES', '', NULL, ''
'memberview', 'varchar(105)', 'YES', '', NULL, ''
'statuschangedate', 'varchar(105)', 'YES', '', NULL, ''
'notes', 'varchar(1000)', 'YES', '', NULL, ''
'customernotes', 'varchar(1000)', 'YES', '', NULL, ''
4

1 に答える 1

0

ねえ、あなたは問題が何であったか知っていますか?

それを遅らせていたのは JQuery slidedown() だったので、それを切り替えて css を display: table に変更し、完璧に機能しました!

コード -

<script>
$(".viewall").click(function () {

    //dropdown.bind('change', function(){   
    //$(".alltable").slideDown(0,function(){
    //});
    $(".alltable").css("display", "table");
    $(".alltable tr").css("display", "table-row");
    $(".alltable td").css("display", "table-cell");
    //$(".alltable tr").slideDown(0,function(){
    //});
    //$(".alltable td").slideDown(0,function(){
    //});
});
$(".closeall").click(function () {

    //dropdown.bind('change', function(){   
    /*$(".alltable").slideUp(200,function(){
    });*/
    $(".alltable").css("display", "none");
    $(".alltable tr").css("display", "none");
    $(".alltable td").css("display", "none");
    /*$(".alltable tr").slideUp(200,function(){
    });
    $(".alltable td").slideUp(200,function(){
    });*/
});

</script>
于 2012-09-30T20:21:31.633 に答える