首页 > 解决方案 > 存储用户名和密码的表中的 InnoDB 与 MyISAM

问题描述

我有一个表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;

我预计表中有超过 100,000 行。并且只有两种类型的查询将在此表上进行,这些查询的示例是:

现在我正在使用 InnoDB 引擎,我想知道在这种特殊情况下它是否比 MyISAM 更好。

先感谢您!

标签: mysqlinnodbdatabase-schemaquery-performancemyisam

解决方案


我非常怀疑你会看到这么小的数据库有什么不同。随意继续研究,但可能不要担心,真的没有错误的选择。InnoDB 是一个更严格的引擎,对于许多(大多数?)应用程序来说更好,所以如果有疑问,选择它。


推荐阅读