标签: myisam

为什么 TokuDB 和 InnoDB 插入比 MyISAM 慢

我准备了以下SQL语句来比较MyISAM、InnoDB和TokuDB的性能行为(INSERT执行100000次):

MyISAM:

CREATE TABLE `testtable_myisam` (`id` bigint(20) NOT NULL AUTO_INCREMENT, `value1` INT DEFAULT NULL, `value2` INT DEFAULT NULL, PRIMARY KEY (`id`), KEY `index1` (`value1`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `testtable_myisam` (`value1`, `value2`) VALUES (FLOOR(RAND() * 1000), FLOOR(RAND() * 1000)); 
Run Code Online (Sandbox Code Playgroud)

索引数据库:

CREATE TABLE `testtable_innodb` (`id` bigint(20) NOT NULL AUTO_INCREMENT, `value1` INT DEFAULT NULL, `value2` INT DEFAULT NULL, PRIMARY KEY (`id`), KEY `index1` (`value1`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `testtable_innodb` (`value1`, `value2`) VALUES (FLOOR(RAND() * 1000), FLOOR(RAND() * 1000));
Run Code Online (Sandbox Code Playgroud)

德库数据库:

CREATE TABLE …
Run Code Online (Sandbox Code Playgroud)

mysql myisam innodb mariadb tokudb

2
推荐指数
1
解决办法
4562
查看次数

如何将所有 InnoDB 表转换为 MyISAM?

大家好,我正在寻找一种方法(sql 代码),我可以使用它在 WordpressDB 中将所有 InnoDB 转换为 MyISAM 。

从现在开始我的代码是:

SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME,' ENGINE=MyISAM;') FROM Information_schema.TABLES WHERE ENGINE = 'InnoDB'
Run Code Online (Sandbox Code Playgroud)

这让我回来:

ALTER TABLE db.wp_comments ENGINE=MyISAM;
ALTER TABLE db.wp_links ENGINE=MyISAM;
ALTER TABLE db.wp_options ENGINE=MyISAM;
ALTER TABLE db.wp_postmeta ENGINE=MyISAM;
ALTER TABLE db.wp_posts ENGINE=MyISAM;
ALTER TABLE db.wp_term_relationships ENGINE=MyISAM;
ALTER TABLE db.wp_term_taxonomy ENGINE=MyISAM;
ALTER TABLE db.wp_termmeta ENGINE=MyISAM;
ALTER TABLE db.wp_terms ENGINE=MyISAM;
ALTER TABLE db.wp_usermeta ENGINE=MyISAM;
ALTER TABLE db.wp_users ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)

现在我想一次执行所有这些行,我想将所有结果保存在一个变量中并执行它们。但是一个 sql 变量只能保存一行......我现在如何使用简单的 sql 代码一次执行所有这些行?

提前致谢

PS:我可以使用“更新”来解决这个问题,因为更新可能会将引擎更新为MyISAM?

mysql sql myisam innodb

2
推荐指数
1
解决办法
4071
查看次数

MySQL MyISAM和innoDB内存使用

有谁知道MyISAM和innoDB使用了多少内存?在处理小表时与处理较大表(最多32 GB)时,它们的内存使用情况如何比较?

我知道innoDB比MyISAM重,但还有多少呢?

任何帮助,将不胜感激.

谢谢,jb

mysql memory myisam innodb

1
推荐指数
1
解决办法
5972
查看次数

具有混合表的MySQL事务支持

看起来我需要与MySQL进行交易,我不知道如何使用混合的InnoDB/MyISAM表管理Mysql中的事务,这一切看起来都是一团糟.

你可能会问我为什么要将这些表混合在一起......这就是性能.正如许多开发人员所注意到的那样,InnoDB表通常性能不佳,但作为回报,它会提供更高的隔离级别等......

有没有人对这个问题有任何建议?

mysql performance database-design myisam innodb

1
推荐指数
1
解决办法
1347
查看次数

表锁是否规模?/对于嵌套集,行锁会更有效吗?

我正在使用嵌套集将层次数据存储在MyISAM表中; 该表由每个用户的几个分层集组成.每个用户将是唯一一个写入其各自树的用户,但其他用户可以从中读取.节点删除/插入要求同一树中的其他行的lft和rgt值更新,可能有数百行.

为了做到这一点,我需要获得一个表写锁,更新树中的其他节点,删除/插入行并解锁表.

我想知道的是 - 表锁可以扩展到数百个并发用户吗?成千上万的?

在这种情况下,InnoDB的行锁会更有效吗?(锁定几百行,主要仅供用户自己使用)

如果我要使用行锁,我是否需要添加显式逻辑来处理死锁错误?

mysql myisam innodb

1
推荐指数
1
解决办法
486
查看次数

InnoDB还是MyISAM?

我有两个表:用户和友谊.我在网站上的行动是:

  • 寄存器
  • 登录
  • 从用户表中选择朋友/人
  • 将人们添加为朋友

还有一些动作,但总的来说我想知道:

问题:

我应该在桌子上使用InnoDBMyISAM吗?(或InnoDB为一个和MyISAM为另一个?)

mysql myisam innodb

1
推荐指数
2
解决办法
416
查看次数

用MyISAM写速度?

我有这个大表,我想要全文搜索,所以我把它作为MyISAM,因为InnoDB不支持.

如果我在那张桌子上写了很多东西,我会遇到性能问题吗?我被告知MyISAM在写入期间锁定整个表.

如果我需要全文搜索和非锁定写入,我还有其他选择吗?

mysql performance myisam innodb full-text-search

1
推荐指数
1
解决办法
374
查看次数

为什么Myisam读取速度更快(主要是读取应用程序)和简单查询?

我一直在阅读有关Mysql,Myysql性能博客和一些书籍的一些资料.

据说,如果你有一个基于读取的应用程序,你应该使用Myisam,因为它比Innodb更好.对于Myisam,非连接查询也更快.

为什么如此支持表锁(仅适用于我认为的写操作),其中Innodb具有行级锁,因此它应该为读写提供更好的性能.

我只是想知道这一点,为什么所有的阅读材料都表明如果你的应用程序读数超过95%,Myisam读取速度更快,而不提供相同的解释.

我希望有知识渊博的人能够在没有投票和结束问题的情况下回答

mysql myisam

1
推荐指数
1
解决办法
563
查看次数

试图找到返回0的列的NULL值?

我的表中有一个列有几个不同的值,我使用了一个group by.

当我做这样的事情时它会返回一些数量:

SELECT COUNT(*) FROM table WHERE age='';
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,它总是返回,0即使这是不正确的:

SELECT COUNT(*) FROM table WHERE age=NULL;
Run Code Online (Sandbox Code Playgroud)

知道为什么在返回正确结果时返回0的原因是什么?

mysql null myisam

1
推荐指数
1
解决办法
50
查看次数

MySQL是否为外键自动编制索引?

任何人都可以告诉我MySQL是否自动索引其外键?

我的MySQL正在使用MyIsam Engine.

mysql indexing myisam foreign-keys isam

1
推荐指数
1
解决办法
2028
查看次数