4
我需要一些帮助优化2个表上的查询。一个将包含约一百万,另一个将包含约一千万行。使用这些MySQL表优化查询
这里是表结构 -
Sample Browse and Search Queries
这些查询过了一分钟
所以需要很长的时间,大约15至20秒,在某些情况下, ,请看看并建议我如何使它们在实际使用中更快。
P.S.这里是为那些2示例搜索查询计划和浏览查询...
我需要一些帮助优化2个表上的查询。一个将包含约一百万,另一个将包含约一千万行。使用这些MySQL表优化查询
这里是表结构 -
Sample Browse and Search Queries
这些查询过了一分钟
所以需要很长的时间,大约15至20秒,在某些情况下, ,请看看并建议我如何使它们在实际使用中更快。
P.S.这里是为那些2示例搜索查询计划和浏览查询...
你可能想要把对字段的索引你筛选,喜欢CATEGORY_ID,site_enabled,和video_collection日期。
一般来说,使用这种大小的表格,目标是尽可能减少需要连接的行数。
对于您的浏览查询,我只能想象如果它试图加入所有行,然后将结果过滤为20,那么速度会很慢。您可能会尝试重新编写它以在顶部使用嵌套选择20个最喜欢的vids。例如:
select
v.video_id,
v.video_title,
v.video_link,
v.video_total_view,
v.video_likes_count,
v.video_collection_date as date,
v.video_time,
s.site_name
from
(select
video_id,
v.video_title,
v.video_link,
v.video_total_view,
v.video_likes_count,
v.video_collection_date as date,
v.video_time
from icumm_videos
where category_id='1'
and 1277612659 - v.video_collection_date < 86400 * 7
order by video_likes_count desc limit 0,20) v
inner join icumm_sites s on v.site_id = s.site_id and site_enabled>0
left outer join icumm_featured_videos fv on v.video_id = fv.video_id
我看不到您的查询在使用精选视频表中的任何内容,因此联接可能是多余的。
Hi Rob!这改进了浏览查询,但我仍然坚持搜索查询,查找2个大表中的2列中的文本。有任何帮助吗?谢谢,Anjan – anjan 2010-06-27 07:32:22
我会尝试相同的方法进行搜索查询 - 只需将匹配条件放入嵌套的SELECT – 2010-06-27 09:47:56
Hi Rob!您的建议确实有助于查询。但是我发现,一旦行数超过一百万,mysql全文搜索可能需要更长的时间。所以,我已经去了狮身人面像寻找。谢谢,安键 – anjan 2010-06-28 07:00:40