mysql - 我应该在我的数据库中设置哪些索引
问题描述
我正在编写一个应用程序来输入一些测试结果。测试人员每周测试大约 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 中的外键会自动在表上创建索引。这是为什么??
解决方案
推荐阅读
- windows - 如何在 installshield 中为 windows 的西装安装程序添加两个 msi 包
- vba - 在 VBA 中从网站下载所有带有前缀的文件
- python - Python -> Boost Python + C++ 错误
- java - 想要根据映射到 json 的键隐藏对象的某些字段
- python - 如何在 matplotlib 中复制 gnuplot 的伪 3D 图,以便随时间分配蛋白质的二级结构?
- python - 如何使用 pandas DataFrame 在列轴连接中使用 join_axes?
- php - 如何使用 laravel 5.4 制作工作菜单选项卡
- django - 如何在 Django Rest Framework 中注册后自动生成电子邮件?
- php - 从商店页面 woocommerce 添加到购物车分组产品
- x86-64 - 将 x86-64 上的 long double 传递给可变参数函数