我看到URL的最大長度可以是2000個字符。因此,我有一個varchar(2000)列類型的表來存儲URL。但是這個列不能僅索引前1000個字符,如下所示。什麼是推薦的URL數據類型?URL的數據類型
mysql> create table myweb(id int not null auto_increment, url varchar(2000), primary key (id));
Query OK, 0 rows affected (0.03 sec)
mysql> alter table myweb add key (url);
Query OK, 1 row affected, 1 warning (0.04 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> show create table myweb\G
*************************** 1. row ***************************
Table: myweb
Create Table: CREATE TABLE `myweb` (
`id` int(11) NOT NULL auto_increment,
`url` varchar(2000) default NULL,
PRIMARY KEY (`id`),
KEY `url` (`url`(1000))
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
「但是,這列不能索引只有前1000個字符」 ---這樣的嗎?對你來說不夠嗎? – zerkms 2010-11-16 06:05:20
2000字符不是URL的最大長度,儘管它遠遠超出了URL的合理長度;如果不是用戶的敵對行爲,那麼任何超過幾百的數據都至少不是用戶友好的。各種版本的IE的限制略超過2000,其他瀏覽器有不同的限制。 – 2010-11-16 06:08:57