小编Whi*_*ise的帖子

将表拆分为常用表和存档表有用吗?

我有一个包含 1.000.000 多个条目的表。只有最新的 100.000 个条目被频繁使用。其他 90% 很少使用。

将此表拆分为包含 100.000 个条目的常用表和一个存档表有用吗?

我将不得不移动大约。每天有 10.000 个元素到存档表。

查找元素的服务器逻辑是:

  1. 在常用表中搜索。
  2. 如果在那里找不到,请在存档表中搜索。

背景

我已经对一个小表和一个大表(数据量多 10 倍)中的随机数据进行了一些测试。一个SELECT为一个特定的元素查询了0.6倍以上的时间在大表比小的一个。我相信这会对每秒 1000 多个查询的整体性能产生影响。


@里克詹姆斯

创建是

CREATE TABLE IF NOT EXISTS `note` (
  `note_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(10) unsigned NOT NULL,
  `title` varchar(100) NOT NULL,
  `content` text NOT NULL,
  `date_added` datetime NOT NULL,
  `date_modified` datetime NOT NULL,
  PRIMARY KEY (`note_id`),
  KEY `FK_note_user` (`user_id`),
  CONSTRAINT `FK_note_user` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE NO ACTION
) ENGINE=InnoDB …
Run Code Online (Sandbox Code Playgroud)

mysql performance database-design query-performance

6
推荐指数
1
解决办法
233
查看次数