首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为新项目创建数据库的查询

问为新项目创建数据库的查询
EN

Stack Overflow用户
提问于 2011-10-08 08:26:22
回答 2查看 108关注 0票数 1

我希望如果我的问题脱离了上下文,你们就让我过去吧。在数据库管理系统方面,我一点也不擅长,在我7+多年的it经验中,我所能做的就是写一些基本的查询(在谷歌的帮助下)。

我正在做我自己的项目,我已经完成了设计阶段的工作,并且非常清楚我需要的项目的所有表结构,我将为此使用MySQL,因为项目本身具有小型CMS的功能,这意味着要在数据库大小处理大量数据。

我使用蟾蜍( TOAD )为MySQL创建模式和其他内容,但在进行此操作时,我几乎没有什么问题要在一开始就解决。

  1. MySQL (默认为InnoDB)、
  2. 的存储引擎类型应该是什么?任何其他参数都需要照顾存储引擎
  3. ,需要在表级别设置哪些字符集和排序规则,如果存在,则需要在列级别设置(应用程序必须负责国际化)

由于对数据库方面不太了解,这是一个一直在我脑海中浮现的问题,在这方面的任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-08 09:05:52

你应该坚持使用InnoDB。它有事务和行级锁定。对于高(写入)并发性,行级锁定允许同时进行多个插入/更新/删除。MyIsam有表锁定,这意味着一次只能修改一个查询。但是,如果您阅读量很大,MyISAM可能会表现得更好。例如,SELECT COUNT(*) FROM table;是MyISAM可以立即回答的统计问题,而InnoDB实际上可以进行计数()。InnoDB允许您定义表之间的连接(外键约束),以帮助您实现数据完整性。

如果您对上述内容感兴趣,我建议您阅读O‘’Reilly的高性能MySQL。

关于字符集,您应该确保所有表/列使用相同的字符集。最好是Unicode (UTF8)。确保您的mysql客户端也设置为使用UTF8,以避免数据的(透明)音译。(事实上,确保整个应用程序从存储到显示完成UTF8 )。

排序规则允许您将文本定义为UTF8,但在德语上下文中。有了这些知识,MySQL将按照德语的规则对“f bar”和"foobar“进行适当的排序。(排序及其他事项)。我通常用"utf8_general_ci“。查看mysql上的一些示例:http://dev.mysql.com/doc/refman/5.0/en/charset-collation-effect.html

票数 2
EN

Stack Overflow用户

发布于 2011-10-08 08:57:38

也许你会得到更好的答案,但很快从我的经验:

  1. InnoDB有利于创建可靠的数据驱动web应用程序,MyISAM有利于性能。但是InnoDB支持外键、事务和行级锁定,这使您在设计表时诚实。这意味着如果您不想创建一个简单的实验性数据库,解决方案就是使用InnoDB .
  2. ,您应该查看、transactions和Row级别的锁定(如果您想存储不同语言的数据,我知道只有InnoDB支持这些one )。它不会让你失望的。

我希望这能帮上忙。

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

https://stackoverflow.com/questions/7695660

复制
相关文章

相似问题

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