比如一个查询语句,关联的三个表。怎么写sql才能更有效的提高性能。
发布网友
发布时间:2022-04-10 11:52
我来回答
共4个回答
热心网友
时间:2022-04-10 13:21
比如我现在设计有3个表:
table1: id1,id2,msgtable2: id2, id3table3: id3, text要求关联索引:table1.id2 = table2.id2, table2.id3 = table3.id3我要搜索table1表中记录,条件是table3.text='aa',用一条sql语句就可以这些方法实现!①select table1.* from (table1 innerjoin table2 on table1.id2 = table2.id2 innerjoin table3 on table2.id3 = table3.id3 where table3.text='aa' ②select table1.*from table1,table2,table3 where table1.id2=table2.id2 and table2.id3=table3.id3 and table3.text='aa' ③select t1.*from table1 t1 join table2 t2 on t1.id2=t2.id2 join table3 t3 on t2.id3=t3.id3 where t3.text='aa' 方法很多 但我比较喜欢① 性能高点
热心网友
时间:2022-04-10 14:39
小表写在做右边可提高查询效率
热心网友
时间:2022-04-10 16:14
联表查询时比子查询性能高的,也可以用视图提高性能!三张表的话,一般事子查询!看着办吧!
热心网友
时间:2022-04-10 18:05
用数据量小的表做主表