Mysql-从多个表中检索记录的最快方法是什么
示例:我创建了表post-Mysql-从多个表中检索记录的最快方法是什么,mysql,Mysql,示例:我创建了表post- post_id primary key content varchar 然后我创建表注释- comment_id primary key post_id foreign key reference post(post_id) content varchar 在活动服务器页面中显示记录 query1: select * from post; Do while NOT RS1.EOF { response.write RS1("post_id") respon
post_id primary key
content varchar
然后我创建表注释-
comment_id primary key
post_id foreign key reference post(post_id)
content varchar
在活动服务器页面中显示记录
query1: select * from post;
Do while NOT RS1.EOF
{
response.write RS1("post_id")
response.write RS1("content")
query2: select * from comment where post_id = RS1("post_id")
Do while NOT RS2.EOF
{
response.write RS2("comment_id")
response.write RS2("content")
}
}
第二个查询对table post中的每条记录执行fullscan in table comment,是否有任何方法可以使comment搜索比上述方法更快?
我需要为那个案例使用索引吗?提前感谢加入表格
SELECT a.*, b.*
FROM post a
INNER JOIN comment b
ON a.Post_ID = b.Post_ID
-- WHERE a.Post_ID = @valueHere -- <<== if you want to get specific post
要进一步了解加入的更多信息,请访问以下链接:
加入表格
SELECT a.*, b.*
FROM post a
INNER JOIN comment b
ON a.Post_ID = b.Post_ID
-- WHERE a.Post_ID = @valueHere -- <<== if you want to get specific post
要进一步了解加入的更多信息,请访问以下链接:
将“post_id”的索引添加到“comment”
您还可以在这两个表之间进行连接,以使用一个查询获取每个帖子的所有注释。如果你有很多帖子,这可能会很昂贵…在“评论”中添加一个“post\u id”索引
您还可以在这两个表之间进行连接,以使用一个查询获取每个帖子的所有注释。如果你有很多帖子,这可能会很贵…谢谢你的快速回复JW:好的,我会使用JOIN@Randy:which post\u id?在post表格或评论中?您不需要;不需要手动定义索引,因为从表定义中,您已经将其设置为主键,并且在表注释中它已经是外键。@JW好的,如果不需要使用索引,您是否建议使用更好的ASP代码以获得更快的结果?或者我只需要将查询更改为使用JOIN table?谢谢您的快速回复JW:好的,我将使用JOIN@Randy:which post\u id?在post表格或评论中?您不需要;不需要手动定义索引,因为从表定义中,您已经将其设置为主键,并且在表注释中它已经是外键。@JW好的,如果不需要使用索引,您是否建议使用更好的ASP代码以获得更快的结果?或者我必须更改查询以使用联接表?