、私は、次のようなクエリている:これは、基準に応じて任意の場所に1からID年代の多くの1000のに私を複数のクエリでクエリの結果をGoogleに保存するにはどうすればよいですか? PHPとsqlite3のを使用して
$firstquery = "SELECT id FROM mytable WHERE critera=........";
を与えることができます。
これで、私のページ上で最大40個の他のSQLクエリにこの見つかったセットを使用します。すべてのようなバリエーションです:私はたくさん持っていると第二これら$、$第三... $ thirtiethqueryページ遅くなっ着工失ったとき、今
$secondquery = "SELECT name FROM nametable WHERE nametable.id IN (".$firstquery.")";
$thirdquery = "SELECT car FROM cartable WHERE cartable.id IN (".$firstquery.")";
と私は常にオーバー$ firstquery実行するために必要だと思いますし、以上は助けにはならない。
$ firstqueryを何度も何度も実行する必要性を避ける方法はありますか?たぶん結果を何らかの方法で保存していますか? (文字列として結果を格納しようとしましたが、WHEREにありましたが、のidがの場合、その句のパラメータが多すぎます)。
ありがとうございました! MacKniven
私は最初に質問しなければなりません:他のテーブルに関連ID(外部キー)はありませんか?とにかく、 'firstquery'からカンマで区切られたidの文字列を作成し、この文字列を他のクエリと一緒にIN句で使用することができます。それは 'firstquery'クエリを繰り返さないようにする一つの方法です。しかし、私は他の最適化の改善のためにもっと多くの情報を持っていなければならないが、他の取り扱いの「調整」を行うことができると確信している。 –
なぜ 'JOIN'を使用せず、* $ firstquery *を追加せずに各クエリを一度実行するのはなぜですか? – Parfait