mysql - 设计 MySQL 表以提高 SELECT 速度

标签 mysql sql database-design query-optimization

我正在为网站设计简单的支持功能。
用户可以带着问题打开票证,并从支持人员那里获得重播,其他网站用户也可以重播他的票证。

数据库将有两个表用于此目的,为了简化事情,我将仅描述相关列。

  1. 表格ticket_header,其中包含以下列:
    ticket_id(BIGINT,主要),email_ticket_owner(VARCHAR),...

  2. 表格tickets_comments,其中包含以下列:
    数字(BIGINT)、ticket_id(BIGINT)、email_ticket_commenter(VARCHAR)、...

对于每张票证,表 Ticket_header 中只有一个条目,而表 Tickets_comments 中可以有无限个条目。 每个表预计会有大量条目。

我的问题是:
在性能方面,推荐的方法是什么,在表 Tickets_comments 中定义索引,以便我可以尽快从数十亿个条目中选择具有相同 Ticket_id 的所有条目。 我的查询将是:

SELECT *  
FROM   tickets_comments  
WHERE  ticket_id = 1234;

最佳答案

为ticket_id创建索引

CREATE INDEX idx_tickets_comments_ticket_id ON tickets_comments (ticket_id) COMMENT ''

关于mysql - 设计 MySQL 表以提高 SELECT 速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53180592/

相关文章:

java - HQL 或 Criteria 中的 CASE 语句

mysql - 对值表中的序列建模的好方法是什么?

database - 何时构建单独的报告数据库?

php - 随机排列 MYSQL 数据库中的输出行项目

php - 我的 yii 正则表达式是什么?

sql - 如果一条记录与基于其中三列的记录的最新版本不匹配,是否有办法在 SQL Server 中插入一条记录?

sql - 如何选择表格中除一列之外的所有列?

php - 修改php中的内容

mysql - 从更新更改触发器期间进行的历史更新中保存最后更新的 ID 和日期

php - 软删除最佳实践 (PHP/MySQL)