我想将我的 MySQL 5.1 数据库迁移到以下数据库之一:MariaDB、PerconaDB 或 MySQL 5.6
有没有办法在不停机或尽可能减少停机时间的情况下执行此操作?如何?
数据库大小为 40GB,每分钟有数百次写入和读取。有 10 台服务器连接到它,它现在是一个 sing db 服务器。
我试图弄清楚为什么一个查询需要大约 5 秒才能完成以及如何优化它。以下是我目前收集到的信息:
1. EXPLAIN statement for the query:
EXPLAIN EXTENDED
SELECT SUM(meta2.meta_value) FROM ****_posts as posts
LEFT JOIN ****_postmeta AS meta ON posts.ID = meta.post_id
LEFT JOIN ****_postmeta AS meta2 ON posts.ID = meta2.post_id
WHERE
meta.meta_key = '_customer_user' AND
meta.meta_value = '15448' AND
posts.post_type = 'shop_order' AND
posts.post_status IN ( 'wc-processing','wc-completed' ) AND
meta2.meta_key = '_order_total';
+----+-------------+-------+--------+--------------------------+----------+---------+------------------------------+--------+----------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra …Run Code Online (Sandbox Code Playgroud) 客户端统计表有一个“空查询”列。这意味着什么?简单的谷歌搜索只是告诉我“这个客户端的连接向服务器发送空查询的次数。” /面掌
当我想创建表时,我安装了 Percona Server 5.6.12-rc60.4,例如:
CREATE TABLE IF NOT EXISTS `mydb`.`table` (
`id` INT NOT NULL AUTO_INCREMENT ,
`title` VARCHAR( 64 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = XtraDB DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)
发生此错误:
#1286 - Unknown storage engine 'XtraDB'
Run Code Online (Sandbox Code Playgroud)
如何使用 XtraDB 引擎创建表?
我在 5.6.35-81.0 Percona Server 上有一个大型 MySQL 表,主键中有间隙。该表有大约 5300 万条记录,自动增量键现在约为 3.7 亿条。该表是电话号码列表,用户添加/删除号码非常频繁,因此 BIGINT 的 PRIMARY 键内部有间隙。
我现在面临的问题是,当我做一个简单的 SELECT * FROM 表时,MySQL 默认不使用 PRIMARY 键对结果进行排序。它使用表中的电话号码字段对数据进行排序,因此数据被按顺序选择,而不是按顺序保存在数据库中。
带有 ORDER BY id 的 Offcourse SELECT 需要很长时间。另一种解决方案是将所有数据复制到另一个表,但这需要应用程序停机。我怎样才能解决这个问题或在未来避免这种情况?
CREATE TABLE `contacts` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`phonebook_id` int(11) NOT NULL,
`campaign_id` int(11) DEFAULT NULL,
`contact` varchar(45) NOT NULL,
`status` tinyint(1) unsigned NOT NULL DEFAULT '1',
`admin` tinyint(1) unsigned NOT NULL DEFAULT '0',
`call_status` tinyint(1) unsigned NOT NULL DEFAULT '1',
`active_call` tinyint(1) unsigned NOT NULL DEFAULT '0', …Run Code Online (Sandbox Code Playgroud)