首页 > 解决方案 > 我应该在我的数据库中设置哪些索引

问题描述

我正在编写一个应用程序来输入一些测试结果。测试人员每周测试大约 40 个版本,每个版本都有 50 个测试结果。这意味着每周 40x50 = 2000 个结果。每月将有大约 10.000 个测试结果。因此,正如您所见,我的数据库表 testResults 会增长得非常快。

所以现在我正在考虑定义一些indeces。测试结果有一个外键来测试用例并释放它所属的。

这就是为什么我想有2个indeces。一个在 testcase_id 上,一个在 release_name(id in release table) 上。原因是如果有人想获得特定测试用例或特定版本的测试结果,那么搜索仅按 result_id 排序的整个结果表将花费太长时间,我想一年后会有超过 100.000条目,我的应用程序会非常慢...

但是插入测试结果也会变慢吗?每天都会有很多测试结果添加到我的结果表中。如果我的 2 个索引总是需要一直更新,那现在会变得很慢吗?

我刚刚在我的数据库 MySQL 中看到的内容。MySQL 中的外键会自动在表上创建索引。这是为什么??

标签: mysqldatabasedatabase-indexes

解决方案


推荐阅读