【问题标题】:mysql php optimization with foreign key alphabetical ordermysql php优化与外键字母顺序
【发布时间】:2014-10-14 19:18:42
【问题描述】:

我有 2 张桌子:

users:
| id | name | email | pass |

requests:
| id | userId | date | text |

requests.userIdusers.id 的外键。现在使用 php,我的查询看起来或多或少像这样:

select u.name,r.date,r.text from requests r 
JOIN users u ON u.id=r.userId 
order by u.name ASC

我只想让它们按用户名的字母顺序排序。它工作得非常慢,我正在阅读索引但没有发现这样的问题。有没有人对此有任何想法,我该如何加快速度?谢谢。

编辑: 为此,我创建了超过 5000 个用户和 2000000 个请求的数据库,这样我就可以看到它什么时候变慢了。当它按整数或日期排序时,速度会快几倍。

【问题讨论】:

  • 那么您在name 列上有索引吗……?
  • 我无法将其添加到名称列。我一直在寻找制作索引所需的内容,但没有任何结果。
  • 你不能究竟是什么意思?手册中描述了如何添加索引,dev.mysql.com/doc/refman/5.6/en/create-index.html

标签: php mysql optimization


【解决方案1】:

试试看

 select u.name,r.date,r.text from requests r,users u where u.id=r.userId order by u.name ASC

【讨论】:

  • 这似乎并不可行,但你应该澄清你的答案,不要只说“试试看”
  • 不幸的是,根本没有加速。无论如何,感谢您的任何想法。
猜你喜欢
  • 2021-09-21
  • 1970-01-01
  • 2013-02-02
  • 2023-03-24
  • 1970-01-01
  • 2011-02-27
  • 2012-09-08
  • 1970-01-01
  • 2016-09-26
相关资源
最近更新 更多