2012-03-12 56 views
1

“我应该使用多少个索引?”我知道这个问题多次被问到一般是。但我要求一个特定于我的表格结构和查询目的的答案。MySQL索引 - 可选搜索条件

我有一个约60列的表。我正在编写一个SDK,它具有基于可选搜索条件获取数据的功能。有10个列,其中用户可以可选地传入值(因此用户可能想要某个usernameclientTimestamp的所有条目,或某个userID等的所有条目)。因此,我们可能会根据最多10列查找数据。

该表将运行INSERTS几乎与SELECTS一样多,并且该表通常具有约200-300K行的某处。每行包含大量数据(可能接近0.5 MB)。

这张桌子上有10个索引是好的还是坏主意?

回答

0

简单的指南,可以帮助您做出决定。 1.索引列具有高选择性。
2.尝试对表格进行标准化(您提到了用户名和用户ID列;如果它不是用户表,则不需要在此存储名称)
3.如果您的系统不是抽象的,它应该是一些使用的参数比其他人更频繁。首先,确保您的索引支持使用这些参数进行快速结果检索。

+0

几乎我在想什么......做出一个有教养的猜测,最常用的是什么。至于表格的规范化,我知道你的意思和同意,但这是一个不同的场景。当填充“用户名”时,它用于“离线用户”(这意味着在用户表中不存在任何记录),而当填充“用户ID”时,用于“在线用户”(指的是“在线用户” '用户表')。 – Travesty3 2012-03-12 14:17:23