草庐IT

mysql - 如何在 MySQL MyISAM 存储引擎上使用删除级联?

我有一个名为equipment的表,还有8个名为equipment_child1的表,依此类推,直到equipment_child8。所有这些表之间的公共(public)字段是cod_equip,有了这个字段我可以用设备识别我所有的子设备表父表。当移动设备时,我需要从设备中删除数据,但我需要删除所有表equipment_child1到equipment_child8中的数据.然后我记得我在innoDB引擎中使用了DELETECASCADE,但现在我正在使用MyISAMengina,这是个问题吗?任何帮助,都会真正澄清... 最佳答案

Mysql 搜索 - InnoDB 和事务与 MyISAM 的全文搜索

我目前正在研究为我的php项目提供高级搜索的最佳方法。我已将范围缩小为使用FULLTEXT搜索而不是使用LIKE在表格行中查找匹配的字符串。然而,要做到这一点,我似乎需要牺牲使用InnoDB引擎,这将使我失去事务和表关系的ACIDity。是否真的值得使用MYISAMmysql引擎,或者是否有更好的方法来提供搜索功能。如有任何指点,我们将不胜感激! 最佳答案 这真的取决于应用程序...将MyISAM用于任何需要引用完整性的东西都是立竿见影的失败。同时,它的文本搜索也不是那么高效。基本上,有两种方法。如果您发现不需要真正的参照完整性,请

MySQL:InnoDB 与 MyISAM:如何以及为什么要改变 (Amazon RDS)?

我没有设置我的数据库并注意到我的一些表是innoDB而另一些是MyISAM。我有兴趣改变它们的原因是因为JurgvanVliet(在AWS上撰写O'Reilly书籍)saysAmazonRDS的自动数据库备份能力取决于所有表都是innoDB表。将数据库中的所有表转换为InnoDB的命令是什么? 最佳答案 这是一个将当前数据库中的所有MyISAM表转换为InnoDB的存储过程:DROPPROCEDUREIFEXISTSconvert_all_tables_to_innodb;DELIMITER//CREATEPROCEDUREconv

mysql - 与 InnoDB 相比,MyISAM 快多少?

人们说InnoDB没有MyISAM快。但是慢了多少?当然,就像风中的经验法则一样。我的意思是……它通常是MyISAM的0.5倍吗?甚至更糟?还是普通访问者在浏览MyISAM平台时与使用InnoDB浏览器时没有意识到任何时间差异? 最佳答案 如果您注意到任何实际的现实世界差异,我会感到非常惊讶,除非您运行的是一个非常大/资源密集型的网站。有一些(尽管很旧)基准(例如here),但您的体验显然会因您的特定使用模式而异。 关于mysql-与InnoDB相比,MyISAM快多少?,我们在Stac

mysql - 没有事务的生活(MyISAM)

我的站点在VDS服务器上运行。我刚刚发现我的MySQL服务器不支持InnoDB引擎,因此我无法在我的应用程序中使用数据库事务。这让我想到,有些人可能永远不会使用交易。是这样吗?如果是这样,如何协调MyISAM中不同表的相关操作?否则,有没有办法在VDS上运行的MySQL服务器上安装InnoDB?谢谢! 最佳答案 如果您需要事务,那么您就需要事务,而MyISAM不会削减芥末。一些应用程序不需要事务。例如;一种从不同时运行多个相关SQL语句并且不需要回滚多个SQL语句的应用程序。另一个示例是将MySQL用作简单键值存储的应用程序。有许多

MySQL 备份 : Can I copying individual MyISAM table files to another server with different MySQL version and different OS?

我的意思是复制单个MyISAM表文件是:(关闭mysqld并将.frm、.myd和.myi文件从一个数据库文件夹复制到另一个数据库文件夹)问题:(a)我可以使用这种方式将MySQL数据库文件夹从一台服务器备份到另一台不同MySQL版本的服务器吗?(b)这个备份文件可以移动到不同的操作系统吗?(例如:debian到centos) 最佳答案 仅在具有相同版本的服务器之间进行文件级复制MyISAM表:-CPU'endian'(SPARC!=x86)-MySQL版本无需转换即可升级(由于索引结构更改,5.0.48复制到5.0.52是错误的,

mysql - 为什么使用 MyISAM 引擎而不是 InnoDB 创建的默认 'mysql' 数据库?

我正在使用MySQL5.6版,它的默认MySQL引擎是InnoDB,也就是说,如果您在创建表时没有指定引擎,它将使用InnoDB创建。但是今天,我注意到默认的mysql数据库是使用“MyISAM”而不是InnoDB创建的。任何线索,为什么会这样?Databasechangedmysql>showtables;+---------------------------+|Tables_in_mysql|+---------------------------+|columns_priv||db||event||func||general_log||help_category||help_k

mysql - 从 Mysql 通用日志表中删除旧行(MyISAM 不是 CSV)

我想从mysql.general_log表中删除旧行,但遇到了这个错误:#1556-Youcan'tuselockswithlogtables.这是我运行的查询:DELETEFROM`general_log`WHERE`event_time` 最佳答案 您可以重命名表,根据需要执行清理,然后再次恢复表名。例子:SETGLOBALgeneral_log='OFF';RENAMETABLEgeneral_logTOgeneral_log_temp;DELETEFROM`general_log_temp`WHERE`event_time`

mysql - 我可以在一个数据库中使用 InnoDB 和 MyISAM 表吗?

显然两者各有好处。MyISAM速度快但可能很容易损坏,InnoDB速度慢但由于事务和外键而更稳定。因此,将两种引擎混合在一个数据库中可能会很好。可以吗? 最佳答案 REMEMBER!It'sOKtomixtabletypesinthesamedatabase!Infactit'srecommendedandfrequentlyrequired.However,itisimportanttonotethatifyouarehavingperformanceissueswhenjoiningthetwotypes,tryconverti

MySQL - InnoDB 与 MyISAM

我昨天阅读了以下文章(http://blogs.sitepoint.com/2010/11/19/mysql-mistakes-php-developers/),它写了以下内容:MySQLhasanumberofdatabaseenginesbutyou’remostlikelytoencounterMyISAMandInnoDB.MyISAMisusedbydefault.However,unlessyou’recreatingaverysimpleorexperimentaldatabase,it’salmostcertainlythewrongchoice!MyISAMdoesn