求教两条mysql 的sql语句

____33 发布于 2011/01/15 09:46
阅读 170
收藏 2

现在有两个表新闻 表 和管理员表。新闻表关联了 管理员ID,现在想查询这两个表,请教下以下那句sql效率较好,查询速度快呢,我是刚学sql菜鸟,求高手指点下。

 第一条:   select n.news_title ,a.admin_name from  ( select news_title,news_admin_id from news  limit 0,20) n left join admin a on n.news_admin_id = a.admin_userid

 第二条: select n.news_title ,a.admin_name from news n left join admin a on n.news_admin_id = a.admin_userid  limit 0,20

加载中
0
G.
G.

这个要放在实际的环境才知道.

如果你的 admin 很少,完全可以在程序中自己再组装数据.

第一条无法被Mysql缓存. 第二条可以被缓存.

第一条SQL你拆开成2条,改用 in 子句,性能可能会更好一些.

同时,你还要注意"索引", 有些时候添加索引不一定能提高性能. 但大多数情况下是可以提高性能.

如果你能给出表结构与数据数量等信息, 别人能给你更多的建议.

0
____33
____33

引用来自#2楼“G”的帖子

这个要放在实际的环境才知道.

如果你的 admin 很少,完全可以在程序中自己再组装数据.

第一条无法被Mysql缓存. 第二条可以被缓存.

第一条SQL你拆开成2条,改用 in 子句,性能可能会更好一些.

同时,你还要注意"索引", 有些时候添加索引不一定能提高性能. 但大多数情况下是可以提高性能.

如果你能给出表结构与数据数量等信息, 别人能给你更多的建议.

新闻的表的主要字段:news_id(bigint) , news_title (varchar), news_content(text) ,news_admin_id(bigint)

管理员表的主要字段: admin_id(bigint) ,admin_name(varchar)

数据的话管理员表不是很多,而新闻可能会达到很大的数据量。

刚学数据库,不是很懂,自己不知道则么测,我在新闻表加了10多万的数据,好像两个都速度差不多。

返回顶部
顶部