什么是 Percona?
它与 MySQL 有何不同?
我们什么时候应该考虑从库存 MySQL 切换(或升级)到 Percona?
为了在我们的情况下添加一些细节,我们几乎只使用具有广泛外键约束和一些存储过程的 InnoDB(我知道 Percona 已经做了很多优化)。
我们目前发现 MySQL 对我们的查询优化不佳,因此任何超过 3-4 个连接的查询我们都必须使用 STRAIGHT 连接显式构建以提高性能。
鉴于以下数据:
id | user_id | started | closed | dead
-------------------------------------------------------------------------------------------
7714 | 238846 | 2015-01-27 15:14:50 | 2015-02-02 14:14:13 | NULL
7882 | 238846 | 2015-01-28 13:25:58 | NULL | 2015-05-15 12:16:07
13190 | 259140 | 2015-03-17 10:11:44 | NULL | 2015-03-18 07:31:57
13192 | 259140 | 2015-03-17 10:12:17 | NULL | 2015-03-18 11:46:46
13194 | 259140 | 2015-03-17 10:12:53 | NULL | 2015-03-18 11:46:36
14020 | 259140 | 2015-03-23 14:32:16 | 2015-03-24 15:57:32 | NULL
17124 | 242650 …
Run Code Online (Sandbox Code Playgroud) 对于 MySQL 5.1.49 中的以下表结构:
CREATE TABLE `leads` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`institution_id` int(10) unsigned NOT NULL,
`lender_id` int(10) unsigned NOT NULL,
`product_id` int(10) unsigned NOT NULL,
`client_id` int(10) unsigned NOT NULL,
`contract_id` int(10) unsigned DEFAULT NULL,
`employee_id` int(11) unsigned DEFAULT NULL,
`create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`inquiry_date` timestamp NULL DEFAULT NULL,
`claimed_date` timestamp NULL DEFAULT NULL,
`refunded` timestamp NULL DEFAULT NULL,
`price` decimal(10,2) unsigned NOT NULL,
`downloaded` int(11) NOT NULL DEFAULT '0',
`status` enum('in_review','declined','pre-approved') DEFAULT NULL, …
Run Code Online (Sandbox Code Playgroud)