Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
我正在为网站设计简单的支持功能。
用户可以打开有问题的票证,并会从支持资料中重播,其他站点用户也可以重播他的票证。
为此,数据库将有2个表,为简化起见,我仅描述相关的列。
表ticket_header的列:
ticket_id(BIGINT,主要),email_ticket_owner(VARCHAR),...
表tickets_comments与列:
数字(BIGINT),ticket_id(BIGINT),email_ticket_commenter(VARCHAR),...
对于每张票证,在ticket_header表上只有一个条目,而在tickets_comments表中可以是无限个条目。
每个表应具有大量条目。
我的问题是:
在性能方面,推荐的方法是在表tickets_comments中定义索引,这样我就可以从数十亿个条目中尽快选择具有相同ticket_id的所有条目。
我的查询将是:
您要在
就内存而言,这可能会很棘手-如果您的表和索引都不适合内存。您可能希望选择数量有限的列-并将其包括在索引中。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
我正在为网站设计简单的支持功能。
用户可以打开有问题的票证,并会从支持资料中重播,其他站点用户也可以重播他的票证。
为此,数据库将有2个表,为简化起见,我仅描述相关的列。
表ticket_header的列:
ticket_id(BIGINT,主要),email_ticket_owner(VARCHAR),...
表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;
最佳答案
对于此查询:
SELECT *
FROM tickets_comments
WHERE ticket_id = 1234;
您要在
tickets_comments(ticket_id)
上建立索引。就内存而言,这可能会很棘手-如果您的表和索引都不适合内存。您可能希望选择数量有限的列-并将其包括在索引中。
关于mysql - 设计MySQL表以获得提高SELECT速度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53180592/