Questions tagged «mysql»

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


6
在活动的系统上执行有效读写的最安全方法是mysqldump?
我不确定这是否是正确的,但我记得阅读过,如果您在linux中运行以下命令 mysqldump -u username -p database_name > backup_db.sql 在对数据库进行读写时,转储可能包含错误。 命令中是否有特定选项mysqldump来确保在实时系统上安全地完成此操作?我可以为用户禁用读/写功能几秒钟(数据库<50MB)

8
如何在MySQL 5.5中轻松将utf8表转换为utf8mb4
我有一个数据库,现在需要支持4个字节的字符(中文)。幸运的是,我已经在生产MySQL 5.5。 所以我只想将所有utf8_bin的排序规则都转换为utf8mb4_bin。 我相信此更改不会导致性能损失/收益,只是会增加一点存储开销。
71 mysql 

2
一个大查询或多个小查询哪个更快?
我曾在不同的公司工作过,并且我注意到其中有些人更喜欢将视图与所有“亲戚”一起加入表格中。但是随后在应用程序上,我们只需要使用1列。 因此,仅进行简单选择,然后在系统代码上“联接”它们会更快吗? 该系统可以是php,java,asp,也可以是连接到数据库的任何语言。 所以问题是,从服务器端(php,java,asp,ruby,python ...)到数据库的运行速度更快,运行一个查询即可获得我们所需的一切,或者从服务器端运行到数据库并运行一个查询一次只能从一个表中获取列?


4
MySQL以任何方式导入巨大的(32 GB)sql转储更快?
我有一个巨大的32 GB SQL转储,需要导入MySQL。我以前不必导入这么大的SQL转储。我照常做: mysql -uroot dbname < dbname.sql 花费的时间太长了。一张桌子大约有3亿行,大约3个小时就达到了150万行。因此,似乎整个过程将花费600个小时(即24天),并且是不切实际的。所以我的问题是,有没有更快的方法可以做到这一点? 进一步的信息/发现 这些表都是InnoDB,并且没有定义外键。但是,有很多索引。 我没有访问原始服务器和数据库的权限,因此无法进行新备份或进行“热”复制等。 此处innodb_flush_log_at_trx_commit = 2建议的设置似乎并没有(明显可见/指数)改善。 导入期间(从MySQL Workbench)的服务器统计信息:https : //imgflip.com/gif/ed0c8。 MySQL版本是5.6.20社区。 innodb_buffer_pool_size = 16M和innodb_log_buffer_size = 8M。我需要增加这些吗?



1
减少mysql中ibdata大小的最佳方法是什么?
我有一些生产服务器,其ibdata文件大小每天都在增加。 它已经消耗了290GB的空间。 服务器中的表主要是InnoDB,并且有大量的读写请求。 日志文件的大小也在增加。表中有大量数据。 如何控制两者的增长规模? 我没有使用innodb_file_per_table。
63 mysql  innodb 

4
MySQL:创建索引(如果不存在)
如果不存在,是否可以在MySQL中创建索引? MySQL不支持明显的格式: CREATE INDEX IF NOT EXISTS index_name ON table(column) ERROR 1064 (42000): You have an error in your SQL syntax;... MySQL版本(mysql -V)是5.1.48,但我认为MySQL CREATE INDEX IF NOT EXIST在所有版本中都缺乏此功能。 只有在MySQL中尚不存在索引时,才创建索引的正确方法是什么?


3
查找层次结构字段的最高级别:带有CTE或不带有CTE
注意:此问题已更新,以反映出我们当前正在使用MySQL,这样做之后,我想知道如果切换到支持CTE的数据库会容易得多。 我有一个带有主键id和外键的自引用表parent_id。 +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | parent_id | int(11) | YES | | NULL | | | name | varchar(255) | YES | | NULL …



3
何时在MySQL中使用视图?
当通过多个联接创建表以用于分析时,何时使用视图而不是创建新表? 我更喜欢使用视图的原因之一是数据库模式是由我们的管理员从Ruby内部开发的,而我对Ruby并不熟悉。我可以要求创建表,但是需要额外的步骤,在开发/测试新联接时,我希望有更大的灵活性。 我开始在SO的一个相关问题(何时使用R,何时使用SQL)的答案之后使用视图。投票最多的答案开始为“在SQL中进行数据操作,直到数据在单个表中,然后在R中进行其余操作。” 我已经开始使用视图,但是遇到了一些视图问题: 查询要慢得多 视图不会从生产中转储到我用于分析的备份数据库中。 视图是否适合此用途?如果是这样,我应该期望性能下降吗?有没有一种方法可以加快视图查询?

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.