【发布时间】:2010-03-02 21:56:53
【问题描述】:
我正在创建一个允许用户向公众共享特定页面的网站。它类似于 jsbin.com 如何让您创建正在处理的脚本的公共 url。我现在使用的基本 MySQL 表是:
CREATE TABLE IF NOT EXISTS `lists` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`hash` varchar(6) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `hash` (`hash`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
key 字段是保存用户将在 URL 末尾键入的随机字符串的列。因此,例如,如果用户在该页面上发布了哈希值为a1b2c3 的页面,那么 URL 将是http://mysite.com/a1b2c3
好的,很抱歉描述花了这么长时间。我的问题是,我应该索引哈希列吗?这是否会使查询更快,因为我主要是通过哈希值来查找行?
另外,我还有另一个表与这个表有外键关系。将其与哈希列相关联在性能方面是否有意义?
感谢您的帮助。
【问题讨论】:
标签: mysql database performance database-design