建立一个100万条数据的表,是用一个表好,还是多个表并联好啊 0fredrickhu]

发布时间:2016-12-6 8:55:21 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"建立一个100万条数据的表,是用一个表好,还是多个表并联好啊 0fredrickhu]",主要涉及到建立一个100万条数据的表,是用一个表好,还是多个表并联好啊 0fredrickhu]方面的内容,对于建立一个100万条数据的表,是用一个表好,还是多个表并联好啊 0fredrickhu]感兴趣的同学可以参考一下。

建立一个100万条数据的表,是用一个表好,还是多个表并联好啊 假如一条数据是20个字段 单表时是每行100个字段,共20万行 多表时为5个表,每个表是每行20个字段,共20万行 哪个表比较好,速度快点啊。

要看你具体的需求啊,有点模糊

不怕不怕  放心用吧 不过记得把索引建好就OK

我觉得还是做多表好

一百万 什么数据库? 列数据关系? 各行数据使用频率? 其实一百万不算多

数据量并不大,主要看表的用途。 如果是业务中事实表,经常进行添加、更新、删除的话,建议多表连接; 如果只是查询,定期更新大批记录的话,建议单表分区。

如果有很多冗余数据,就用分表。没有冗余数据就用单表

100万,这点量还用几张表,也特看小SQL Server了

我的数据库一天的数据量就是十几W条。

引用 5 楼 mlemon 的回复:数据量并不大,主要看表的用途。 如果是业务中事实表,经常进行添加、更新、删除的话,建议多表连接; 如果只是查询,定期更新大批记录的话,建议单表分区。 回帖是一种美德!每天回帖即可获得 10 分可用分!

引用 9 楼 qizhengsheng 的回复:引用 5 楼 mlemon 的回复: 数据量并不大,主要看表的用途。  如果是业务中事实表,经常进行添加、更新、删除的话,建议多表连接;  如果只是查询,定期更新大批记录的话,建议单表分区。    回帖是一种美德!每天回帖即可获得 10 分可用分!真的?????  ..

引用 5 楼 mlemon 的回复:数据量并不大,主要看表的用途。  如果是业务中事实表,经常进行添加、更新、删除的话,建议多表连接;  如果只是查询,定期更新大批记录的话,建议单表分区。 是這個道理

引用 9 楼 qizhengsheng 的回复:引用 5 楼 mlemon 的回复: 数据量并不大,主要看表的用途。  如果是业务中事实表,经常进行添加、更新、删除的话,建议多表连接;  如果只是查询,定期更新大批记录的话,建议单表分区。    回帖是一种美德!每天回帖即可获得 10 分可用分! 回帖是一种美德!每天回帖即可获得 10 分可用分! 小技巧:教您如何更快获得可用分

100W条的话,只要建一个索引就够了,如果只是查询数据的话应该足够可以了。速度不会慢。 如果一天到晚都在增删改查的话就得考虑分成几个表了。但是建立索引也是必须的。

引用 13 楼 ziqing_deshi 的回复:100W条的话,只要建一个索引就够了,如果只是查询数据的话应该足够可以了。速度不会慢。  如果一天到晚都在增删改查的话就得考虑分成几个表了。但是建立索引也是必须的。 同意

数据库里有个规定:行不能跨页,一页只能是8K,100个字段下来的,估计查询时一页也就一行数据吧,速度可想而知了,所以你还是将它分成向个表吧,这样数据的容量会减少,查询的速度也会快些

一行的数据容量有限制的吧,很怀疑一行100列怎么放得下

100列也OK的啊  8K 不够吗~ 多少是多啊~

查询的话,一个表就行了,操作的话就不好说了。

如果数据中的冗佘很小的话,可以用一个大表,不过我个人觉的还是以业务的逻辑来定是一个大表,还是多个小表

看你的用法!多用于查询肯定一个表好一点咯!但是对数据管理很不方便哦

还是一个表里好

同意5楼的,其他人都是瞎白话.

同意五楼

i don't you say

Test_A、Test_B、 Test_C、 Test_D、 Test_E: 字段 id int; F1~F20 char(50) Test_G:F1~F20 字段 id int; F1~F100 char(50)       单表查询:  耗时2.16分钟 select * from Test_G cpu开销:0.110157 I/O开销:74.0765 估计行大小:5023字节 估计行数:100000 运算符开销:74.1866(100%) 估计子树大小:74.1866 多表查询:  耗时2.56分钟 select a.id,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20, F21,F22,F23,F24,F25,F26,F27,F28,F29,F30,F31,F32,F33,F34,F35,F36,F37,F38,F39,F40, F41,F42,F43,F44,F45,F46,F47,F48,F49,F50,F51,F52,F53,F54,F55,F56,F57,F58,F59,F60, F61,F62,F63,F64,F65,F66,F67,F68,F69,F70,F71,F72,F73,F74,F75,F76,F77,F78,F79,F80, F81,F82,F83,F84,F85,F86,F87,F88,F89,F90,F91,F92,F93,F94,F95,F96,F97,F98,F99,F100 from Test_A a,Test_B b,Test_C c,Test_D d,Test_E e where a.id=b.id and a.id=c.id and a. id=d.id and a.id=e.id cpu开销:0.4356*4+0.110157*5=2.2932 I/O开销:21.2994+23.1513*4=113.9 估计行大小:5023字节 估计行数:100000 运算符开销:0.4359+0.4357+0.4356*2+21.4096+23.2614*4=116.198 估计子树大小:116.198 根据结果看出,多表并联在CPU 、I/O 、运算符上开销都比单表大的,耗时长。

不用分吧,数据也不算大。

即然出於是數據量大小的考慮,樓主你考慮將表欄位分開存放幹嘛呢?你將表拆分成五個表,那麼至少每個表都得有一個共同的欄位以供關聯吧?加起來比一個表的時候還要多出至少4個欄位,這空間是不少反而多了; 嫌數據大,就建分區表,將數據橫向分割,縱向分割,我看不出能從哪方面解決樓主的問題。

引用 15 楼 baronyang 的回复:数据库里有个规定:行不能跨页,一页只能是8K,100个字段下来的,估计查询时一页也就一行数据吧,速度可想而知了,所以你还是将它分成向个表吧,这样数据的容量会减少,查询的速度也会快些 所言及是,所以樓主你得評估一下你一行的數據最大有多少。

引用 24 楼 devilidea 的回复:i don't you say 這英文,看懂了的請舉手~~

你们都是高手

高啊。。。

同意5楼

单表的话:先考虑下一行的数据量大不大,哪些字段内容是比较大的,估计下,要是不大,可以用单表,多建几个索引 多表的:  逻辑上就是多了一点复杂度,不过不用考虑那么多

1 有没有哪些字段很长,比如要装入XML之类的,长字段是不是经常要用,如果不是,最好分出去 2 建立索引 基本就差不多了 100万内的话不用分表

100万的一般不用分表的,只要记得加索引。

数据量打的时候记得加索引。个人观点觉得多表好一点

一个表足矣

单表,分区。

如果一张表有冗余的话就用多张表,也可以创建一个视图 如果一张表存放数据没冗余的话就用一张表就行了

回帖是一种美德!每天回帖即可获得 10 分可用分!

100万,好多数据呀

才100W, 一个表足以!!

该回复于2009-07-17 19:48:14被版主删除

100万就分表  你太小看MSSQL了啊。      你可以尝试哈 速度是非常快的。。只有主键。。

如果一张表有冗余的话就用多张表,也可以创建一个视图  如果一张表存放数据没冗余的话就用一张表就行了

结构要合理哈,就象我建立个用户管理表, 用户名和密码以及邮箱这3个最常用的查询字段都放一个表里,其他个人信息可填可不添的放其他表里,一个表就4\5个字段数据量很小的字段,查询注册的时候查询用户名是否被注册速度非常快的

引用 5 楼 mlemon 的回复:数据量并不大,主要看表的用途。 如果是业务中事实表,经常进行添加、更新、删除的话,建议多表连接; 如果只是查询,定期更新大批记录的话,建议单表分区。 同意

引用 5 楼 mlemon 的回复: 数据量并不大,主要看表的用途。  如果是业务中事实表,经常进行添加、更新、删除的话,建议多表连接;  如果只是查询,定期更新大批记录的话,建议单表分区。 

用一个表就可以  放心的用吧

多个表,虽然麻烦了点

100个字段,那个,恐怕没法看,没法读吧。我觉得还是应该利用面向对象的思维来建表。建议还是使用列比较少的表,其实这也有个度的问题。因为小表可能会数据的冗余度大一些。

该回复于2009-09-25 10:48:40被版主删除

100个字段,不多,可以不分,但看是什么用途为主要的

学习~

分区

朋友,你要相信SQL Server的实力

試過7千万條記錄的表,查詢速度還是一樣快。

上一篇:两台机子都装有sql server2008,a做主机 ,b做备机。任何a的更改,同步或异步到b机 20fredrickhu]
下一篇:(sql200x * 32/64) * (win200x * 32/64) 的极限? 0sz_haitao]

相关文章

相关评论