这是一个基于我的应用程序的理论问题。我想知道除了我的系统上的速度测试之外是否还有一些技术见解。
我有以下两个表:
CREATE TABLE `files` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`url` varchar(255) NOT NULL DEFAULT '',
`processed` tinyint(1) unsigned NOT NULL DEFAULT '0',
`last_processed` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `url` (`url`),
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
和...
CREATE TABLE `file_metas` (
`file_id` int(10) unsigned NOT NULL,
`title` varchar(255) NOT NULL DEFAULT '',
`description` varchar(1000) NOT NULL DEFAULT '',
`keywords` varchar(1000) NOT NULL DEFAULT '',
PRIMARY KEY (`file_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
file_metas
数据是关于files表中每个文件的长文本字符串。每个文件在file_metas
表中只有一个条目,因此可以组合这两个表。
我想知道当我没有选择files
时,在files
表中添加长文本字段会对title
表上执行的select语句的性能有什么影响},description
或keywords
。我对技术细节很好奇。简单地在表中使用文本字段是否会减慢不涉及这些字段的查询?这与MySQL MyISAM表一般如何工作?是否有充分理由将file_metas
数据保存在单独的表中?