我在我的笔记本电脑上开发了一个小的WAMP web应用程序,在那里我运行了一个mySQL实例,并且我选择了InnoDB作为我的DB引擎。经过几周的开发,我想让它对公众开放,发现我的web主机提供的数据库服务器不支持InnoDB,只支持MyISAM。
在我的笔记本电脑上,从innoDB模式生成的创建和填充脚本在针对实时数据库执行时,可以设法创建单独的表,但随后在创建视图时会遇到问题。MyISAM中是否不支持视图?我知道外键不是。这就是我选择InnoDB的原因。让我的innoDB模式设计与myISAM一起工作的机会有多大?
有没有什么直接的方法将整个模式从一个存储引擎转换到另一个存储引擎?我应该寻找另一个提供支持innoDB的mysql数据库的web主机吗?
发布于 2010-02-17 00:02:44
您的选择:
就我个人而言,我认为4号是最糟糕的解决方案。现在有很多支持InnoDB的虚拟主机提供商,所以为了使用MyISAM重新编码大量的应用程序是浪费时间的。当然,这取决于应用程序的大小和复杂程度。如果它相对较小,这可能不是一个坏主意。
我可能会寻找一个新的虚拟主机提供商。
发布于 2010-04-16 06:29:27
是的,但是InnoDB还有许多其他特性,比如事务和行锁(而不是表锁)。
发布于 2010-02-17 00:09:28
这不是关于InnoDB和MyISAM的问题:这两种表类型都支持视图。我认为这要么是版本问题(),要么是grant tables的问题。
如果你能发布你得到的准确的错误信息,那将会很有帮助。
https://stackoverflow.com/questions/2273937
复制相似问题