38得票5回答
为什么在InnoDB上进行简单的SELECT查询比在MyISAM上慢100倍? 为什么在InnoDB上执行简单的SELECT查询比在MyISAM上慢100倍?

我有一个非常烦人的问题。我想将INNODB作为我的主要数据库引擎,并放弃MyISAM,因为我需要前者来使用galera-cluster实现冗余。 我将newbb_post表复制到一个名为newbb_innopost的新表中,并将其更改为InnoDB。这些表目前分别包含5,390,146条记录...

14得票1回答
每天在指定时间安排一个活动。

我希望我的活动每天在00:20开始。我对时间的安排感到困惑。我应该使用第一个选项还是第二个选项? CREATE EVENT my_event ON SCHEDULE EVERY 1 DAY STARTS '2014-04-30 00:20:00' ON COMPLETIO...

26得票5回答
在WHERE子句中如何进行区分大小写的搜索?

我想在SQL查询中进行区分大小写的搜索。但是默认情况下,MySQL不考虑字符串的大小写。 有什么办法可以在SQL查询中进行区分大小写的搜索吗?

31得票2回答
MySQL和窗口函数

似乎MySQL不支持窗口函数。 例如,简单的COUNT(*) OVER() AS cnt无法使用。 我不确定的是商业版是否也适用(我假设社区版是有限子集)。 如果不适用,那么如何解决这个缺失的功能?

7得票2回答
当使用索引时,加快COUNT(*)的速度

我有一张类似于这个(简化版)的表格。 CREATE TABLE books ( id INT AUTO_INCREMENT, category INT NOT NULL, PRIMARY KEY (id), KEY (category) ); 这个表格有超...

11得票2回答
只允许对特定列进行SELECT操作

我有一个包含3列的User表,分别是name, email, password等。 我想创建另一个用户,只能SELECT访问name列。 SELECT name FROM User; -- Ok! SELECT email FROM User; -- Not Ok...

7得票2回答
MySQL在服务器重启后自动增加计数器重置

我需要一种方法来在MySQL服务重新启动时保持自增计数器的值。 文档中默认情况下,MySQL自增计数器在重新启动后从max(id)+1开始。我该如何保留最后的自增值? 这对我来说是一个大问题。我正在使用envers来保留实体的审计记录。我删除了多少个“最后的行”,就会出现多少个错误。 假...

8得票3回答
将数据库从一个服务器迁移到另一个服务器的最快方法

我正在将一个单独的MySQL数据库(未压缩约10GB)从同一网络上的一台服务器迁移到另一台服务器。当前的MySQL版本是5.1.41,新版本是5.5.24。该数据库包含了MyISAM和InnoDB表。是否可以使用以下方法进行迁移: 关闭两台服务器上的MySQL 将旧服务器上的/data目录...

18得票6回答
保护数据库密码

从我所见过的大多数基于PHP/MySQL的网站结构来看,如果你稍微挖掘一下,就会发现要找到数据库密码并不是非常困难,因为通常都会有一个设置或配置文件存储着登录数据库所需的信息。除了确保我的数据库权限对远程请求进行适当限制这种基本预防措施之外,我在自己的项目中还有哪些可用的选项来保护这些信息呢?

7得票2回答
单个驱动器 vs 多个驱动器

通常关系数据库管理系统(我是一个MySQL用户)性能的瓶颈是磁盘访问。与传统的转轴驱动相比,固态硬盘提供了出色的性能。 问题:通过连接多个容量较小的驱动器,是否可能提高性能,因为这样将有更多的磁头可用于读取数据? 比如用4个500GB 7.2k RPM驱动器替换2TB 7.2k RPM驱动...