我正在为网站设计简单的支持功能。
用户可以打开有问题的票证,并从支持资料中重播,其他站点用户也可以重播他的票证。
为此,数据库将有2个表,为简化起见,我仅描述相关的列。
表 ticket_header ,其中包含列:
ticket_id (BIGINT,主要), email_ticket_owner (VARCHAR),...
表 tickets_comments ,其中包含列:
号码(BIGINT),票证ID (BIGINT),电子邮件票证评论员(VARCHAR),...
对于每张票证,在票证表头中只有一个条目,并且在票证表中可以是无限个条目。 每个表应包含大量条目。
我的问题是:
在性能方面,推荐的方法是在表tickets_comments中定义索引,这样我就可以从数十亿个条目中尽快选择具有相同ticket_id的所有条目。
我的查询将是:
SELECT *
FROM tickets_comments
WHERE ticket_id = 1234;
答案 0 :(得分:1)
为ticket_id创建一个索引
在
$(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll > 550) { $('.nav_bar').addClass('navbar-fixed'); } else { $('.nav_bar').removeClass('navbar-fixed'); } });
上创建索引idx_tickets_comments_ticket_id
(ticket_id)注释
答案 1 :(得分:0)
对于此查询:
SELECT *
FROM tickets_comments
WHERE ticket_id = 1234;
您要在tickets_comments(ticket_id)
上建立索引。
就内存而言,这可能会很棘手-如果您的表和索引都不适合内存。您可能希望选择数量有限的列-并将其包括在索引中。
答案 2 :(得分:0)
没有什么可改进的...您在ticketid上建立索引了吗?