首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >长mysql查询

问长mysql查询
EN

Stack Overflow用户
提问于 2013-04-21 20:50:08
回答 2查看 107关注 0票数 1

我有一个问题

代码语言:javascript
复制
SELECT * 
  FROM tbl_auction_listing 
  JOIN tbl_user ON tbl_auction_listing.user_id = tbl_user.user_id 
  JOIN tbl_subject ON tbl_auction_listing.subject_id = tbl_subject.subject_id 
  JOIN tbl_medium ON tbl_auction_listing.medium_id = tbl_medium.medium_id 
  JOIN tbl_style ON tbl_auction_listing.style_id = tbl_style.style_id 
 WHERE tbl_auction_listing.item_number = '2736503389’

这导致了网站速度的一些问题,有时会导致网站崩溃。我把它分成多个查询会不会更好?

索引

代码语言:javascript
复制
tbl_auction_listing 0   PRIMARY 1   auction_listing_id  A   18739               BTREE       
tbl_auction_listing 1   Listing - subject_id    1   subject_id  A   32          YES BTREE       
tbl_auction_listing 1   Listing - medium_id 1   medium_id   A   32          YES BTREE       
tbl_auction_listing 1   Listing - style_id  1   style_id    A   38          YES BTREE       
tbl_auction_listing 1   Listing - colour_id 1   colour_id   A   30          YES BTREE       
tbl_auction_listing 1   Listing - user_id   1   user_id A   1441                BTREE       
tbl_auction_listing 1   Listing - price_id  1   price_id    A   20          YES BTREE       
tbl_auction_listing 1   Listing - status    1   status  A   8           YES BTREE       
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-21 20:58:27

您可以:

  1. 增加web服务器的默认http请求超时时间
  2. 在tbl_auction_listing.item_number
  3. Cache上建立索引其中一些不太容易更改的表
  4. 增加应用程序和数据库的sql查询超时时间
票数 2
EN

Stack Overflow用户

发布于 2013-04-21 20:58:44

不,您最好将此查询拆分为多个查询。

最好是将索引添加到数据库中以加快查询速度。每个子表都应该在其主键上有一个索引。例如,tbl_style应该在tbl_style(style_id)上有一个索引,等等。

您的索引“方向错误”。它们应该在引用表本身上,而不是(或不仅仅是)在主表上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16131279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档