一直在我心中的东西,但我从未质疑过: 当我构建查询时,我总是使用所有可能的前缀(例如,Database.Table或Table.Column):
SELECT `User`.`ID` FROM `Shop`.`User` WHERE `User`.`Name` = "David" LIMIT 1 ;
而不只是:
SELECT `ID` FROM `User` WHERE `Name` = "David" LIMIT 1 ;
我不知道为什么,但我始终认为如果你使用前缀,这将提高查询的性能。
这是真的,还是我多年来一直认为的神话?
答案 0 :(得分:0)
你应该自己测试一下。
你会发现答案是否定的(除了发送到数据库的查询大小)。 table.column
限定符的使用通常在查询中使用多个表时使用,以防止出现歧义。
例如,如果您要连接两个包含名为userId
的列的表,则可以为该列添加别名:
SELECT a.`userId`
FROM `user` a
LEFT JOIN `email` b
ON b.`userId` = a.`userId`
如果您只是SELECT userId
,则会收到this error。