Articles of myisam

如何logging所有等待表锁的MySQL查询?

我们正试图诊断MySQL 5.0的死锁问题。 目前所有的表都是MyISAM表,所以所有的锁都是表锁。 我们有一个很好的table_locks_waited到table_locks_immediate比(低于1:1000),但在几分钟内,我们得到了一些死锁。 这只发生在亚马逊EC2上,而不是我们其他的服务器上。 有没有办法logging所有无法立即获取表锁的查询? 我们希望看到所有对table_locks_waited编号有贡献的查询。

MyISAM和InnoDB如何利用HD空间?

我的MySQL服务器快用完了HD空间。 大部分我的大表使用InnoDB引擎(没有任务关键的原因)。 为了避免可怕的“ drop database恢复innodb磁盘空间 ”响应,我想更好地理解两个引擎如何在磁盘上存储数据。 如果我要使用MyISAM,我将能够更轻松地通过删除行来恢复磁盘空间? 除了delete / truncate / empty查询之外,还有一个命令是否需要运行? 假设#1是真的:将现有InnoDB表转换为MyISAM并以这种方式恢复空间是否可行?

如何知道数据库使用的存储引擎?

以前,在创build的每个数据库上,我使用: mysql -u root -p CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_bin; GRANT ALL ON dbname.* TO 'dbuser'@'localhost'; 然后在不考虑MyISAM或InnoDB的情况下使用数据库 如何知道数据库使用的存储引擎?

当与MyISAM混合时,InnoDB表在mysqldump过程中被locking了吗?

我正在为我的mysql服务器寻找一个备份解决scheme,我需要尽可能减less停机时间。 我有以下几点: MySQL服务器 他们不复制 每个服务器代表它自己的 这个数字可以增长,所以设置主/从复制不是一个好主意。 我看到的最简单的备份方式是使用mysqldump和“automysqlbackup”这样的软件。 我最重要的数据使用InnoDB。 我的InnoDB表很重。 问题是:如果我对服务器中的所有数据库执行mysqldump,它会locking我的Innodb表吗?

用于数据读取的MyISAM

我有一张大约10亿行的桌子,其中98%的阅读密集。 我试着调整数据库,使用不同的存储引擎(MyISAM和InnoDB) 然后跑了几次testing来查看性能 在where子句中,我有一个主键ID,看起来,由于MyISAM Ke​​y Cache存储将所有索引加载到缓冲区中,使用MyISAM似乎非常快,比InnoDB快大约2倍 但对于InnoDB,它似乎慢了! InnoDB是否不使用任何缓冲区来预加载索引?

更简单的方法将InnoDB的所有表转换为MyISAM

以前我用这个: USE dbname; ALTER TABLE tablename ENGINE=MYISAM; 我正在寻找更简单的方式来转换数据库中的所有表,而不是逐个写每个表名

MySQL复制性能

我在两台机器之间有一个严重的MySQL 5.5复制性能问题,主要是基于语句复制的myISAM表。 二进制日志和mysql数据目录都位于相同的Fusion ioDrive上。 最近我们需要暂停复制大约是一个大问题。 3小时。 花了大约10个小时才赶上,没有其他的负担。 我怎样才能提高复制的性能? 机器B基本上处于空闲状态(很less,IO,2个内核最多可用16个,大量可用RAM),因为只有1个mySQL线程正在写入数据。 以下是我的一些想法: 切换到基于行的复制。 在testing中,这只会使性能提升10-20% 使用multithreading复制升级到mySQL 5.6。 我们可以很容易地将我们的数据分成不同的数据库,基准似乎表明这将有所帮助,但代码似乎并没有准备好。 一些configurationvariables将有助于加速复制 主要问题是 ,如果暂停3小时需要10小时才能完成,这意味着复制在10小时内写入13小时的数据,或者能够以130%的数据速度写入数据。在不久的将来,至less会在主机上写两次,所以迫切需要一种方法来提高复制性能。 机器A: 主 24GB内存 1.2TB Fusion ioDrive2 2个E5620 千兆互联 my.cnf : [mysqld] server-id=71 datadir=/data_fio/mysqldata socket=/var/lib/mysql/mysql.sock tmpdir=/data_fio/mysqltmp log-error = /data/logs/mysql/error.log log-slow-queries = /data/logs/mysql/stats03-slowquery.log long_query_time = 2 port=3306 log-bin=/data_fio/mysqlbinlog/mysql-bin.log binlog-format=STATEMENT replicate-ignore-db=mysql log-slave-updates = true # Performance Tuning max_allowed_packet=16M max_connections=500 table_open_cache […]

你如何select一个MySQL数据库引擎

特别是,如何在MyISAM和InnoDB之间进行select,既不缺less必需的function(例如,您不需要外键)。 它总是归结为尝试和衡量? 或者,有没有关于读取与写入的数量和频率以及其他措施的好的经验法则? 桌子的大小是否对典型的select有影响?

InnoDB和MyISAM有什么区别?

我正在使用MySQL作为我的当前Web项目的数据库。 我是MySQL的新手。 请向我解释一下InnoDB和MyISAM的区别。