首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
›
MySQL 5.5 Community Server
›
MySQL 5.6 Community Server
›
Percona Configuration Wizard
›
XtraBackup 搭建主从复制
Great Sites on MySQL
›
Percona
›
MySQL Performance Blog
›
Severalnines
推荐管理工具
›
Sequel Pro
›
phpMyAdmin
推荐书目
›
MySQL Cookbook
MySQL 相关项目
›
MariaDB
›
Drizzle
参考文档
›
http://mysql-python.sourceforge.net/MySQLdb.html
广告
V2EX
›
MySQL
如果列出“节点收藏”中对应的主题,如何书写最有效率的 SQL?
daijia1123
·
2015-05-11 17:13:24 +08:00
· 2631 次点击
这是一个创建于 3266 天前的主题,其中的信息可能已经有所发展或是发生改变。
当前节点收藏中是列出收藏的节点,点击节点后才能查看相应主题。
如果想进入后,直接按时间顺序列出收藏节点的相应主题该如何做最有效率?SELECT * FROM Topics WHERE id IN (SELECT id FROM nodes WHERE userid=uid),这种方式感觉效率不会高。
数据库结构是否也有特别需要注意的地方(除了索引等)?
节点
列出
select
3 条回复
•
2015-05-11 17:31:16 +08:00
1
anoymoux
2015-05-11 17:30:20 +08:00
1
SELECT * FROM Topics t,nodes n WHERE
t.id
=
n.id
and n.userid=uid
2
anoymoux
2015-05-11 17:30:49 +08:00
1
SELECT t.* FROM Topics t,nodes n WHERE
t.id
=
n.id
and n.userid=uid
3
fangjinmin
2015-05-11 17:31:16 +08:00
1
设计上没有什么问题。问题是你用了子查询,一般来说不会快。这样会好一些,select * from topics join nodes on (
topics.id
=
nodes.id
) where nodes.userid=uid,然后nodes的userid和id都加上索引。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
我们的愿景
·
实用小工具
·
2883 人在线
最高记录 6543
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms ·
UTC 11:24
·
PVG 19:24
·
LAX 04:24
·
JFK 07:24
Developed with
CodeLauncher
♥ Do have faith in what you're doing.