1

結合テーブル、クエリを高速化する方法を教えてください

SELECT tab1.idxx, tab1.una, tab1.isi, tab1.berkat, tab1.type, tab1.forr, tab1.ft, tab1.llt 
  FROM akpen t2 , tab1
 WHERE una = t2.tuj
   AND t2.perm =  'adhy' 
 order by time DESC 
 limit 7

私のサイトには 10,000 人のユーザーがいて、クエリがデータをロードするのに 1 分かかります。たとえば、画像がエラーで表示されることがよくあります

http://i.stack.imgur.com/QjgzD.jpg

私のクエリでは、ショーでデータを7つだけに制限していますが、クエリを「説明」すると、mysqlはすべてのデータを読み取ってから、データの制限ではなく制限内で読み取ります

4

1 に答える 1

0

10000 人のユーザーに対して 1 分は多すぎます。

JOIN 構築中のフィールドにインデックスを追加してください。そしてそうしてみてください:

 SELECT tab1.idxx, tab1.una, tab1.isi, tab1.berkat, tab1.type, tab1.forr, tab1.ft, tab1.llt 
  FROM akpen t2
 INNER JOIN tab1 ON tab1.una = t2.tuj 
 WHERE t2.perm =  'adhy' 
 order by time DESC 
 limit 7
于 2013-06-22T07:30:25.173 に答える