Questions tagged «mysql»

MySQL的所有版本(不是Microsoft SQL Server)。如果与此问题相关,还请添加特定于版本的标记,例如mysql-5.7。


4
MySQL中的“ CREATE INDEX”是线性运算吗?
我的意思是: 如果使用以下命令在表上创建索引 n行需要花费t时间。在同一张表上创建索引1000*n大约需要花费1000*t时间。 我要实现的目标是通过在更小的测试数据库上创建相同的索引来估计在生产数据库上创建索引所需的时间。
20 mysql  index 

1
默认情况下,mysqldump是否导出索引?
我打得四处少许使用mysqldump,我想知道,如果它的出口指数(FULLTEXT,INDEX,...),默认情况下。我仔细阅读,发现了这个选项: --disable-keys, -K 这表明它确实确实导出了索引。但是我不想相信自己的解释,而是想确保自己理解正确(或错误;-)。谁能确认?


3
如何在phpMyAdmin中将mysql表自动递增重置为1?
我知道在MySQL的命令行中,我可以通过以下方式将表的自动增量字段重置为1: ALTER TABLE tablename AUTO_INCREMENT = 1 我很好奇是否有办法从phpMyAdmin中执行此操作。是像复选框一样重置自动增量的东西,还是类似这些东西的东西? 并不是说命令行方法有什么问题。我一直在思考的其中一项好奇心事...提前致谢!

2
如何在MySQL中生成序列
考虑这个表在MySQL create table numbers (number int); insert into numbers values (3), (2), (9); select * from numbers; +--------+ | number | +--------+ | 3 | | 2 | | 9 | +--------+ 是否有一个简单的查询来生成具有以下列的表 从1到10的数字 如果表号中存在数字,则为1,否则为0 我想您必须创建一个数字序列才能执行此操作。如果可能的话,我想创建一个这样的序列而不将其存储在数据库中。 相关问题:是否有一个选择查询生成一个从1到10(或100或1000)的数字序列?
19 mysql  sequence 

2
MySQL是否缓存查询?
我正在将MySQL数据库与PHP数据对象(PDO)接口并执行广泛的SQL查询。通常,大约需要1500毫秒;我仍然需要对其进行优化。当我两次运行PHP脚本并且间隔很短时,查询只需要90毫秒。在两种情况下查询都是相同的。当我使用相同的查询运行脚本时,再次经过一段时间后,又需要1500毫秒。 这是为什么?数据库会自动缓存吗?数据库是否有一段时间保存高速缓存,然后自动将其删除? 我假设结果不能被PHP缓存,因为这发生在两个不同的线程中。我不认为PHP会缓存结果,因为它不知道数据库是否已更改。 我每分钟都会运行一个脚本,以向数据库中插入新行。这也可能是一段时间后再次花费1500毫秒的原因。缓存将被删除,因为相关的表不再相同。
19 mysql 

11
如何在整个MySQL数据库中搜索特定字符串
是否有可能搜索整个数据库表(行和列)以找出特定的字符串。 我有一个约有35个表的名为A的数据库,我需要搜索名为“ hello”的字符串,但我不知道此字符串保存在哪个表上。可以吗? 使用MySQL 我是一名Linux管理员,我对数据库不熟悉,如果您还可以解释该查询,那将非常有帮助。
19 mysql 

3
为什么InnoDB不存储行数?
每个人都知道,在使用InnoDB作为引擎的表中,诸如此类SELECT COUNT(*) FROM mytable的查询非常不精确且非常慢,尤其是当表变大并且在执行查询时不断插入/删除行时。 据我了解,InnoDB不会将行数存储在内部变量中,这就是导致此问题的原因。 我的问题是:为什么会这样?存储这样的信息会很难吗?在很多情况下了解这是重要的信息。我看到是否会实现这种内部计数的唯一困难是涉及事务时:如果事务未提交,您是否计算它插入的行? PS:我不是数据库专家,我只是将MySQL作为简单爱好的人。因此,如果我只是问一些愚蠢的问题,请不要过于批评:D。
19 mysql  innodb  count 

3
建议使用innodb_file_per_table吗?
我们有一个应用程序,其中只有一个表将增长到一百万行,而其余表将不足一百万。那么,我们应该使用innodb_file_per_table还是保留一个.ibd的建议呢?我读过一些文章说不要使用它,因为执行连接时需要更多磁盘访问权限?我们将在此表和其他表之间建立联接,以生成报告。
19 mysql  innodb 

2
MySQL VARCHAR和TEXT数据类型有什么区别?
在版本5.0.3(允许VARCHAR为65,535字节并停止截断尾随空格)之后,这两种数据类型之间是否有主要区别? 我正在阅读差异列表,注释中仅有的两个是: 对于BLOB和TEXT列上的索引,必须指定索引前缀长度。对于CHAR和VARCHAR,前缀长度是可选的。请参见第7.5.1节“列索引”。 和 BLOB和TEXT列不能具有DEFAULT值。 因此,由于TEXT数据类型有这两个限制,为什么要在varchar(65535)上使用它?是否有一个相对于另一个的性能影响?

4
在两个不同的位置同步两个MySQL数据库
我有两个相同的MySQL数据库,一个在内部服务器中,另一个在网络托管服务器中。我想每天使用内部服务器上的数据库更新Web主机上的数据库。有没有办法自动执行此过程,又该如何手动执行呢?如果要手动执行此操作,是否需要我在内部服务器上获取数据库的SQL转储,然后将其导入Web主机上的数据库中?有人可以请教。

1
是否可以更改ENUM()列表?
我不确定是否无法更改ENUM()列表,所以我进行了测试。在MySQL v5.1.58中,我测试了一个InnoDB表,其中包含一个名为ENUM('yes','no')类型的“ bool”字段。 然后我执行了... ALTER TABLE `test` CHANGE `bool` `bool` ENUM( 'yes', 'no', 'maybe' ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ...而且有效。 我做错了什么吗?它取决于数据库引擎吗?为什么每个人都说不可能更改ENUM()列表?例如。此处http://komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil/
19 mysql  innodb 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.