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的所有条目。
我的查询将是:

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/

10-10 00:53
查看更多