-1

私は13のテーブルを持っており、それぞれの同じ列に+- 100 000のレコードがありますが、すべてのテーブルで列ごとにいくつかのレコードを検索したい場合は+- 30秒かかります...非常に長い:( 1つのテーブルで検索すると、最初の更新に時間がかかります2〜3秒の更新には0.3秒かかりますが、これは私にとっては良いことですが、1つのテーブルに対してのみであり、検索してすべてから結果を取得する必要があるため、現在1 300 000レコードがあり、高速検索が必要です:(何か助けが必要ですか?多くのことを結びます

public function getTablesAoiData(){
        return $this->database->query("SELECT TABLE_NAME as `table` FROM information_schema.TABLES WHERE TABLE_NAME LIKE '%aoiData%'");
    }

public function searchBarcode($barcode){
        $result = array();
        foreach($this->getTablesAoiData() as $key => $value){
            $result[$key] = $this->database->query("SELECT * FROM `". $value->table ."` WHERE `Barcode`=" .$barcode)->fetch();
        }
        return $result;

    }
4

2 に答える 2

-1

その列バーコードにインデックスを付ける必要があるだけで、すべてのテーブルで30秒の検索から4ミリ秒を取得したので、インデックスを付けると質問になります:D

于 2017-06-12T08:51:40.257 に答える