优化选择SQL - MySQL

时间:2011-04-21 03:36:37

标签: mysql sql

Plz帮我解决这个问题

表结构

ID(主键)文字

要查找文本我应该写什么?

select Text from table where ID=1  

select Text from table where ID=1 limit 1

另一个表结构

父表
PID(p k)ID

儿童表
ID(p.k)PID(f.k)

我应该写什么来快速删除?

delete from ChildTable where ID=1;

delete from ChildTable where ID=1 and pid=1;  [i know the PID]

2 个答案:

答案 0 :(得分:1)

前两个陈述是等价的。它永远不应该返回多行,因此添加限制1是多余的。

对于删除,它应该无关紧要。 Mysql应首先通过ID查找,因为它是最有效的索引。应该只返回一行,因此PID列是冗余的,最坏的情况实际上可能会使mysql混淆使用效率较低的查询计划。

答案 1 :(得分:1)

只使用带主键的查询。