InnoDB vs MyISAM table 存储用户名和密码
InnoDB vs MyISAM in a table storing usernames and passwords
我有一个 table usernames 存储用户的用户名和密码。
table usernames 的结构由以下公式给出:
CREATE TABLE `usernames`
(
`id` INT NOT NULL AUTO_INCREMENT ,
`user_id` INT NOT NULL ,
`username` VARCHAR(50) NOT NULL ,
`password` VARCHAR(100) NOT NULL ,
`time` TIMESTAMP NOT NULL ,
PRIMARY KEY (`id`),
UNIQUE `user_id_index` (`user_id`) /* it's primary key in users table(user infos)*/
UNIQUE `username_index` (`username`)
) ENGINE = InnoDB;
我预计 table 中有超过 100,000 行。并且只有两种类型的查询将在此 table 上进行,这些查询的示例是:
SELECT * FROM usernames WHERE username = 'brad'
UPDATE usernames SET username = 'newbrad' WHERE user_id = '312'
现在我正在使用 InnoDB 引擎,我想知道在这种特殊情况下它是否比 MyISAM 更好。
提前致谢!
我非常怀疑您会发现这么小的数据库有什么不同。随意继续研究,但可能不要担心,真的没有错误的选择。 InnoDB 是一个更严格的引擎,对许多(大多数?)应用程序来说更好,所以如果有疑问,请选择它。
至少从 MySQL 5.1 开始,MyISAM 即使在只读性能上也更差,并且在写入性能上一直更差。
MyISAM 已在最新版本 MySQL 中完全弃用,甚至系统表现在都是 InnoDB。
我有一个 table usernames 存储用户的用户名和密码。
table usernames 的结构由以下公式给出:
CREATE TABLE `usernames`
(
`id` INT NOT NULL AUTO_INCREMENT ,
`user_id` INT NOT NULL ,
`username` VARCHAR(50) NOT NULL ,
`password` VARCHAR(100) NOT NULL ,
`time` TIMESTAMP NOT NULL ,
PRIMARY KEY (`id`),
UNIQUE `user_id_index` (`user_id`) /* it's primary key in users table(user infos)*/
UNIQUE `username_index` (`username`)
) ENGINE = InnoDB;
我预计 table 中有超过 100,000 行。并且只有两种类型的查询将在此 table 上进行,这些查询的示例是:
SELECT * FROM usernames WHERE username = 'brad'
UPDATE usernames SET username = 'newbrad' WHERE user_id = '312'
现在我正在使用 InnoDB 引擎,我想知道在这种特殊情况下它是否比 MyISAM 更好。
提前致谢!
我非常怀疑您会发现这么小的数据库有什么不同。随意继续研究,但可能不要担心,真的没有错误的选择。 InnoDB 是一个更严格的引擎,对许多(大多数?)应用程序来说更好,所以如果有疑问,请选择它。
至少从 MySQL 5.1 开始,MyISAM 即使在只读性能上也更差,并且在写入性能上一直更差。
MyISAM 已在最新版本 MySQL 中完全弃用,甚至系统表现在都是 InnoDB。