这张表是否需要索引?

时间:2012-08-31 13:14:57

标签: mysql performance refactoring indexing uuid

再次问好Stackoverflow ......

我的组织正在使用SugarCRM进行内部流程处理。我们正在进口约。将27Gig的MsSQL数据放入选择表中。当我在其中一个名为accounts_contacts的表中工作时,是一个将'accounts'链接到'contacts'(惊讶)的中间表。 HEre是表结构:

名称类型归类空缺省值 id varchar(36)utf8_general_ci否无
contact_id varchar(36)utf8_general_ci是NULL
account_id varchar(36)utf8_general_ci是NULL
date_modified datetime是NULL
删除tinyint(1)是0

演示数据:

0001391a-9d28-4bd0-9cec-f469cd244ca7 19135ac7-d47c-e111-b389-1cc1dee8bacd 1a135ac7-d47c-e111-b389-1cc1dee8bacd 0000-00-00 00:00:00 0

000262b6-a0ef-48de-b0f6-47db097b35d6 43080e24-a24d-e111-8cf6-1cc1dee8aa73 44080e24-a24d-e111-8cf6-1cc1dee8aa73 0000-00-00 00:00:00 0

00042aa7-39cd-4fcb-9f47-dc2b31c69a11 e9764a4d-d921-e111-8e18-1cc1dee8bacd ea764a4d-d921-e111-8e18-1cc1dee8bacd 0000-00-00 00:00:00

目前,桌子位于约。 55k行。

我的问题:对于速度和性能,此表会在什么时候提供contact_id和account_id的索引?

1 个答案:

答案 0 :(得分:1)

我想说,contact_id和account_id上的综合索引会为您加入帐户和联系人带来直接性能提升。不向表添加索引的唯一原因是保持索引在表数据插入/更新上同步的开销。因此,如果您对该链接表有许多写入,则应该对索引的效果进行基准测试。否则,如果您只是从该表中读取 - 创建一个索引。