首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL存储引擎决策

MySQL存储引擎决策
EN

Stack Overflow用户
提问于 2009-11-10 09:27:19
回答 2查看 885关注 0票数 3

我是一个来自荷兰的网页设计师。我是一个从零开始构建网络应用程序的新手,我一直使用CMS,并对它们进行定制。

我正在用php/mysql构建一个拍卖网站,这个网站已经完成了。最近我读了几篇关于存储引擎的文章。

我有几个困扰我一段时间的问题:

什么样的存储引擎最适合我的网站,我是否使用myIsam,innodb等。

我正在建的网站是一个拍卖网站,它每秒钟都要处理几次读写!它必须检查拍卖是开放的,关闭的,暂停的,当前的价格等等。

我不知道我的数据库中的所有表都会被访问,这些表只有3个,它们目前都是myIsam。这样好吗?我应该全部改变吗?一点也不换?我真的不知道该怎么办。是我改变了他们,这会对我的网站产生巨大的影响吗?最终,这些变化会很容易应用,还是很难做到。

另一个问题是关于缓存系统。

我也读过一些关于它们的文章,但我不知道它们是否适用于我所拥有的那种网站。我从数据库中得到的数据变化很大。我把它们藏起来方便吗?例如,可以缓存拍卖,因为并非所有项目都会更改。但拍卖不会永远在那里,几个小时后就结束了。

我看不出缓存系统是如何应用于此的,或者我是否认为这是错误的。再一次,如果这个系统适用于我,这个改变是否需要付出很大的努力,这个努力会做出巨大的改变吗?

这些都是我的问题,我想它们都是一般性的,我希望有人能帮助我,我真的很感激。

问候

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-10 10:22:55

什么样的存储引擎最适合我的网站,我是否使用myIsam,innodb等。

通常,对于任何任务,默认为InnoDB,用于其酸遵从性和行级锁定。考虑使用MyISAM只用于(a)全文搜索和(b)在InnoDB下性能不够好的特定情况(这是相当罕见的,但某些类型的数据可以从MyISAM的概要文件中受益)。

我正在建设的网站是一个拍卖网站,

像拍卖这样的函数确实需要一个一致的交易数据库,因为你说的是人们的钱。MyISAM不能提供这样的服务。您的站点需要在所有非原子交互中使用事务,这样就不可能实现例如。当两个人在同一时间竞拍时,他们会赢得同样的拍卖。

它必须处理几个读写每秒钟!

那可不是个大数目。然而,由于MyISAM不幸的表级锁定,InnoDB在访问大型表时通常表现得更好。

我也读过一些关于它们的文章,但是我不知道它们是否适用于我所拥有的那种网站。

别急着进去。有些网站作者似乎认为,任何网站都需要memcache才能有良好的性能,但事实并非如此。您应用的任何缓存解决方案都将增加复杂性和潜在的故障点,以处理更新时间和现在过时的信息。

所以,在真正需要缓存之前,不要求助于缓存。如果您的公共前端页面习惯于对dataset进行复杂、缓慢的查询,那么是的,为此设置某种缓存,无论是在数据库本身中,还是在内存缓存之类的外部解决方案中,都可以提高速度。但是,与增加缓存的复杂性和不一致性相比,更改模式和添加索引使查询更便宜可能会更好。

在一个一秒钟只做“几个”操作的网站上,你就不需要了。

票数 6
EN

Stack Overflow用户

发布于 2009-11-10 09:37:06

InnoDB

在您所描述的场景中,我将使用InnoDB,而不是犹豫。看看你可能需要的这些:

locking

  • multi-statement transactions

  • rollback

  1. 行级

缓存

您有几种方法可以进行缓存。但是假设你的头版每秒有10次点击,每5分钟就会改变一次。将首页存储在纯html文件中并每五分钟更新一次cron作业是非常有意义的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1706632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档