标签: myisam

MySql:MyISAM与Inno DB!

MySql中的MyISAM和Inno数据库类型有什么区别?

mysql database myisam innodb

43
推荐指数
3
解决办法
2万
查看次数

将InnoDB表与MyISAM表连接起来

我们有一组表,其中包含元级别数据,如组织,组织用户,组织部门等.所有这些表都将被阅读,只需很少的写操作.此外,表格大小非常小(最大记录数量约为30K - 40K)

另一组表存储OLTP数据,如账单交易,用户操作等,这些数据将同时读写.这些表格非常庞大(每张表约3000万条记录)

对于第一组表,我们计划使用MyISAM,第二组使用InnoDb引擎.我们的许多功能还需要来自这两组的桌子上的JOINS.

使用InnoDB表加入MyISAM表时是否存在任何性能问题?此外,还有任何其他可能的问题(数据库备份,调整等),我们可能会遇到这种设计?

任何反馈将不胜感激.

mysql myisam innodb

37
推荐指数
2
解决办法
1万
查看次数

为什么MySQL的MyISAM引擎不支持外键?

我正在为我的学习编写一个网络应用程序,其中包括全文搜索和外键.

我在某处读过,MyISAM引擎适用于全文搜索,而InnoDB适用于外键.

在这种情况下,我应该使用什么引擎才能获得最佳性能?

  • 为什么MyISAM不支持外键关系,但InnoDB呢?
  • 为什么MyISAM支持全文搜索,但InnoDB不支持?

mysql database myisam innodb

34
推荐指数
1
解决办法
4万
查看次数

MySQL FULLTEXT无法正常工作

我正在尝试使用MySQL的FULLTEXT索引为我的PHP Web应用程序添加搜索支持.

我创建了一个测试表(使用MyISAM类型,带有单个文本字段a)并输入了一些示例数据.现在如果我是对的,下面的查询应该返回这两行:

SELECT * FROM test WHERE MATCH(a) AGAINST('databases')
Run Code Online (Sandbox Code Playgroud)

但它没有返回.我做了一些研究,据我所知,我正在做的一切 - 表是一个MyISAM表,设置了FULLTEXT索引.我试过从提示符和phpMyAdmin运行查询,没有运气.我错过了一些关键的东西吗


更新:好的,虽然Cody的解决方案在我的测试用例中起作用,但它似乎不适用于我的实际表格:

CREATE TABLE IF NOT EXISTS `uploads` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  `size` int(11) NOT NULL,
  `type` text NOT NULL,
  `alias` text NOT NULL,
  `md5sum` text NOT NULL,
  `uploaded` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
Run Code Online (Sandbox Code Playgroud)

我正在使用的数据:

INSERT INTO `uploads` (`id`, `name`, `size`, `type`, `alias`, `md5sum`, `uploaded`) VALUES
(1, '04 Sickman.mp3', 5261182, 'audio/mp3', '1', …
Run Code Online (Sandbox Code Playgroud)

mysql myisam full-text-search

25
推荐指数
2
解决办法
2万
查看次数

MyIsam引擎事务支持

我正在测试innoDB表中的事务支持,并且只是因为我试图在MyIsam表上运行相同的事务,但令人惊讶的是它有效.我假设myIsam表上的查询是一个接一个地执行而不是在一个原子操作中,我没有从START TRANSACTION和COMMIT和ROLLBACK操作中得到任何错误.我感兴趣的是,MyIsam引擎只是忽略了这个操作还是执行了一些操作?

mysql myisam

24
推荐指数
1
解决办法
3万
查看次数

如何锁定单行

我有一user张有田地的桌子lastusedecnumber.

我需要访问和增加lastusedecnumber.

在访问时间期间,我需要锁定该特定用户行(而不是整个表).

我该怎么做呢?

表类型是MyISAM.

mysql myisam locking

22
推荐指数
2
解决办法
6万
查看次数

为什么在删除或更新时不使用外键而没有操作

我有一个感兴趣的问题:

我有2代表InnoDb.
table tbl_a有一个主键,命名为a_id;
table上tbl_b有一个主b_id键和一个外键,tbl_a.a_id带有" ON DELETE NO ACTION".

+-------------+---------------+---------------+
|  Table Name |  Primary Key  |  Foreign Key  |
+-------------+---------------+---------------+
|    tbl_a    |     a_id      |               |
|    tbl_b    |     b_id      |     a_id      |
+-------------+---------------+---------------+
Run Code Online (Sandbox Code Playgroud)

为什么我仍然会使用InnoDb和外键,如果我最终没有真正使用外键的魔力呢?
还有一点是使用
和外键
而不是
而没有外键.
如果我只是NO ACTION删除或更新?

我希望你有我的兴趣:)

mysql myisam innodb foreign-keys

21
推荐指数
2
解决办法
4万
查看次数

我是否应该总是喜欢MySQL InnoDB而不是MyISAM?

有人告诉我InnoDB比MyISAM好多了.所以当我创建一个表时,我是否应该总是尝试使用InnoDB Engine而不是MyISAM?或者两者都有它的巨大好处?

mysql database-design myisam innodb

19
推荐指数
3
解决办法
5167
查看次数

Muzak复制建议和技术

我正在尝试自己的第一个大型数据库项目.我在服务器1上有一个myisam mysql数据库,其中一个php应用程序消耗了大量的各种数据.我在服务器2上有mysql myisam,php应用程序选择并显示数据.

我想在服务器2上复制这些数据.

问题:

  1. 我应该将服务器1 mysql数据库更改为innodb
  2. 你能将server1 innodb复制到server2 myisam吗?
  3. 我将媒体存储为blob,意图使用缓存卸载实时服务器上的压力.我应该使用文件系统存储和rsync.
  4. 其他有经验的人的一般建议?

php mysql replication myisam innodb

19
推荐指数
2
解决办法
167
查看次数

加快从MyISAM到InnoDB的转换

我有一个MySQL 1.5 GB MyISAM表(1.0 GB数据,0.5 GB索引)正在制作中,我即将转换为InnoDB.

由于该表用于生产,我希望尽可能缩短停机时间.

我的问题:

  • 应该调整哪些MySQL配置选项以加快速度ALTER TABLE table_name ENGINE=InnoDB;

  • 为了加快生产数据库表从MyISAM到InnoDB的转换,可以使用哪些其他技巧?

mysql optimization myisam innodb

17
推荐指数
1
解决办法
6821
查看次数