备䆾MySQL数据库的命o(h)
备䆾MySQL数据库ؓ(f)带删除表的格?/strong> 直接MySQL数据库压~备?/strong> 备䆾MySQL数据库某???/strong> 同时备䆾多个MySQL数据?/strong> 仅仅备䆾数据库结?/strong> 备䆾服务器上所有数据库 q原MySQL数据库的命o(h) q原压羃的MySQL数据?/strong> 数据库转移到新服务?/strong>
备䆾MySQL数据库ؓ(f)带删除表的格式,能够让该备䆾覆盖已有数据库而不需要手动删除原有数据库?/p>
]]>
今天比较特别面试的是数据库的设计。面试我的h和我q龄一P说实话数据库设计斚w我不在行Q但是他发布的职位上面只写了(jin)|站l护Q数据库l护{字P比较模糊Q所以我q边直接的投递,有了(jin)面试Z(x)?/p>
面试开始那位仁兄直接的说了(jin)他所面(f)的问题,公司数据库数据到辄万别,以后可能?x)到辑֍万,需要一个好的设计h员对数据库进行优化设计,q里指的是不光设计符合功能需求,更加要符合性能需求,是说数据库设计上面需要兼ֈ效率?/p>
他给我出?jin)一道题目, 一个信息表Q一个类别表。类别表中的cd成树(wi)形结构的Q这个树(wi)可能?x)非常深Q就是说cd?x)很多。信息表中有所有类别的信息。现在需要设计下cd表和信息表,使得信息表和cd表在查询的效率能够承受千万别的数据?br />
我用比较正常的思维去设计,cd表中有idQnameQparentid。这时候他说如果以q种方式设计那在查询的时候不断的用嵌套的方式查询效率不行Q他让我想下Q我说可以将cd表分为几个小表和信息表联l查询,他说q个Ҏ(gu)不行Q我想了(jin)?x)没有想刎ͼ他就直接l我讲了(jin)他的Ҏ(gu)Q但是他说这个方法百万可以Q但是千万的不行,他的Ҏ(gu)也简单,讄一个大cMؓ(f)1Q第一个大cM面的一个类别ؓ(f)2Q那么在cd表中存储
id name category_id
1 W一大类下的一个小c?nbsp; '1,2'
那么在查询的时?select * from category where category_id like '1%';
只要like后面不要?%1%'?nbsp; 1的前面不要写%Q在效率上面q是能够承受的,q个和烦(ch)引类伹{?/p>
他也指出虽然q种Ҏ(gu)提高?jin)一定效率但是每ơ有一个新cd加入时候总要再次遍历整个?wi)ŞcdQ在适合的位|插入,q样子的方式l维护类别表格带来一定麻?ch)?/p>
那位仁兄q问题程序上分页的问题,我说比较通常的方式是在查询数据库的时候截取记录上的某一记录显C?/p>
但是他说q样子的方式对他的大量数据处理没有用处?nbsp;
以上是那位仁兄的思\。我q边没有q方面经验只能对q位仁兄说抱歉了(jin)Q同时也非常感谢他提出的问题和答案?/p>
回来的\上一直在惌个问题,虽然他这样子的方式可以回避掉嵌套查询Q但是我惛_q样子的存储方式l增大了(jin)cd表格的记录数量和更新删除的难度,同时如果cd和信息多的话仍然?x)有查询效率的问题生?br />
在网上查询这U大量数据的数据库设计方法,大部分方法都是分或者烦(ch)引?br />
1.按照月来分,每个月让pȝ自动Z张表Q然后把q个月的数据攑֜q个表里?.是用一个备份的数据服务器,把每个月的数据都导出到那个备份服务器上去Q在备䆾服务器上面数据的存储不按月来分,按照q来分,每年Z张新表,做报表的时候,到备䆾服务器上面操?.是对这几张表用对象数据库,来存储一个月的数据,q数据是在内存的Q操作v来,比操作关pL据库快,前段旉的数据还是放在关pL据库里面Q这样就可以不用数据备䆾服务器了(jin)4 .定时清理数据,可以考虑用触发器或者带存储q程的作业来实现;5.是考虑数据的{换与提取,定期用程序或用事务复制导入原?汇L?把数据复制到一C门做l计的服务器?专门做查询所?查询的时候做相应的优?例如索引,视图{这h询的时候压力就?x)小很?同时考虑负蝲q,在空隙时利用其cpu和内? . 各业务系l和外部数据源传送的数据为维pL留系l输入,q些数据分别l过数据格式(g)查;源数据清z抽取{换、装载数据到攉层;Ҏ(gu)集层中数 据抽取、{换、装载到数据仓库Q数据仓库中数据q行抽取、{换ƈl合模型法库中的算法生成维pȝ果集以供输出Q同旉过数据仓库接口Q可数据提供给?用系l的本地化查询用?/p>
转自Qhttp://www.cnblogs.com/luluping/archive/2009/12/12/1622566.html
大数据量的数据库设计准则Q? 1、分?Qlist、range、hashQ? 2、根据where条g来决定分区策略?/p>
转自Qwww.itpub.net
个h认ؓ(f)Q?1、既然数据量辑ֈ5000万,是否可以考虑Ҏ(gu)U子q行分类Q把不同cȝU子对应的记录存攑֜不同的表中,或者每10个种子对应的数据一h入一张表 中; 2、在U子信息表中Q增加一个字D,该字D는于记录该U子的生的记录是存攑֜哪张表里面?不知道这h否有用,g的l。?/p>
转自Qhttp://www.soidc.net/discuss/30/040101/00/487088_1.html
我对q方面没有太多的涉及(qing)Q所以对那位仁兄遇到的问题无法做出确切的回答。现在做下事后诸葛亮Q我认ؓ(f)内存既然有限Ӟ那么如果一个数据库(不分?的数据量到达一定程度下Q对数据库的数据查询的效率一定有影响Q不设计的如何巧妙。所以分区策略,以硬盘空间来换效率是比较可行Ҏ(gu)?/p>