gpt4 book ai didi

php - inner join large table with small table ,如何加速

转载 作者:行者123 更新时间:2023-11-30 23:39:54 31 4
gpt4 key购买 nike

亲爱的 php 和 mysql 专家我有两个表,一个大表用于帖子文章 200,000 条记录(索引列:sid),一个小表(索引列 topicid)用于主题有 20 条记录.. 具有相同的 topicid

当前我正在使用:(大约需要 0.4 秒)

+从表中获取最后 50 条记录:

SELECT sid、aid、title、time、topic、informant、ihome、alanguage、counter、type、images、chainid FROM veryzoo_stories ORDER BY sid DESC LIMIT 0,50

+然后在每条记录中做 while 循环,以查找每条帖子中的主题名称:

同时 ( .. ) {SELECT topicname FROM veryzoo_topics WHERE topicid='$topic'"....

+现在我打算使用 Inner Join 来加速过程,但在我的测试中,它花费了更长的时间,从 1.5 秒到 3.5 秒

SELECT a.sid, a.aid, a.title, a.time, a.topic, a.informant, a.ihome, a.alanguage, a.counter, a.type, a.images, a. chainid, t.topicname FROM veryzoo_stories a INNER JOIN veryzoo_topics t ON a.topic = t.topicid ORDER BY sid DESC 限制 0,50

看起来内部连接从两个表拳头连接 200k 记录然后将结果限制在 50..这花了很长时间..

请帮我指出正确的方法..例如从表 1 中取出最后 50 条记录.. 然后将其加入表 2 .. ect

最佳答案

不要使用内部联接,除非两个表共享相同的主键,否则您会得到重复的值(当然查询速度会变慢)。

关于php - inner join large table with small table ,如何加速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4313178/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com