作者Lucemia (生の直感、死の予感)
看板Database
标题Re: [DB ] InnoDB一问
时间Sat Oct 27 03:30:45 2007
※ 引述《yachine (无聊的男人)》之铭言:
: ※ 引述《Lucemia (生の直感、死の予感)》之铭言:
: : MyISAM 有点不够用了,想请教一些MySQL下 Innodb的问题
: : 1. 从MYSQL的文件看来Innodb比起MyISAM更能够处理大资料量、
: : 以及大流量的服务?
: 文件看起来是这样 但是个人实际上使用似乎不然
: 且感觉不大稳定
目前已经碰到很多奇形怪状的问题..
: : 2. MyISAM读一个问题是table 大小受OS档案大小上限的影响,
: : 而且在300 ~ 400mb时,没到上限就会变的有点慢了。
: : 现在在想使用innodb 是否能够解决这方面的问题。
: : 但改用innodb後,他把5~6个table合并成一个2Gb的ibdata1文件
: : 这样岂不是更慢、更容易超过os上限吗?
: 您的DB是建构在Widnows平台上吗?因为您提到2GB的限制
: 建议您改用Unix like 平台
: Windows上面跑了太多没有办法控制的程式
: 在大型资料库的架构来说 不是很合适的
测试是在window下面测、主机是debain的系统。
linux like的系统没有档案大小限制吗?
: : my.ini 中提到有innodb file path 的设定,
: : 但是那个是要一个资料库档案一个资料库档案的手动分配增加吗?
: : 如果我要做一个10gb的应用,以2gb的档案来存
: : 就要先开好5个档案?
: 这一点看不大懂 你要是没有先建立好Table file怎麽进行操作呢?
: 基本上若您评估的结果需要用多个资料库来储存 就要先开好
myisam 会自己开好table file ..
innodb的话是全部要自己设定吗? 他好像也没有按照table 来区分档案
: : innodb使用起来和MyISAM感觉差蛮多的,第一次用没有commit,重开死一次
: : 第二次太晚commit,当掉又死一次。mmm
: : 看到phpmyadmin中看到的资料笔数会浮动也是有点傻眼,
: : 资料不知道有没有正确的update进去。
: : 请大家帮忙回答我的问题。
: 我想你Update会慢的原因可能你的Index太多或太复杂
: 在资料量大的环境中 建立良好的索引可以加速查询
: 但是却会拖慢更新效能
: 以上提供参考~
: 本人有用MySQL做过每天20G的系统 有问题可以再详加讨论
目前有的table 大至上是两种
资料:
id, dataname, datafield1,2,3,4,5 ... ,build_time
其中id设primary, dataname 设unique, build_time 设index
(不确定需要进行order by的栏位是否应要设成index)
weighted mxm关系:
id, A_id, B_id, weight1,weight2
id 设primary
(A_id, B_id) Unique
A_id index , B_id, index
weight1,2,3, 设index ...
像这样子的设定OK吗?
另外一个问题是 table的大小是否会影响效能,
应该要致力於将每个栏位都设定到最小所需吗?
感谢您无私的经验分享 m(_ _)m
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.110.216.36
※ 编辑: Lucemia 来自: 140.110.216.36 (10/27 03:34)