如何查询数据库中大批量数据?

如何查询数据库中大批量数据?,第1张

楼上的大哥....人家没说一定是SQL Server数据库吧..聚集索引是SQL Server的概念.1楼有一点说对了..创建索引是可以优先考虑的选择,但是,并不是索引就一定会加快查询速度的..另外,索引是很消耗磁盘空间的,这点也需要考虑清楚..主流的数据库,在建表的时候就规定了主键和外键的话,那么对应的主键和外键会自动加索引的.另外SQL语句的好坏可能会造成数倍的查询速度的差别..写SQL的时候有二个基本的原则,一.越接近数据库核心的SQL语句查询速度越快.即:用通用的标准SQL函数或语法,一定会比数据库产品扩展的SQL要快大约80%所有二.优先使用子查询而不是关联查询,比如表关联(即FROM后面有多个表)...SQL语句也是可以优化的

推荐使用数据透视表。

需要修改的地方

1.日期格式需要修改,推荐不要使用"."来当作年月日的分格符,最好使用 "-"来分格,因为这样以后系统会自动把这一个单元格的数据当作是日期型的。

2.添加出一列来用month函数来统计日期属于哪个月。

3.选中数据区域使用数据透视表,把月份放入"报表筛选"项,把部门放入"行标签"项,把消费放入"数值"并采用求和。

4.在生成的透视表的第一列点下拉箭头,选择"值筛选"->"10个最大的值"。

完成。

好像解决办法有点愚蠢,但是确实可以这么用

先把那1000多个号码导出成文本

然后在sqlserver里建一张表

create

table

shenfenzheng

(shengfenzheng_id

varchar(18))

然后把导出的文本用UE编辑成

insert

into

shenfenzheng

values

('xxxxxxxxxxxxxxxxxx')

insert

into

shenfenzheng

values

('yyyyyyyyyyyyyyyyyy')

.

.

.

共1000条

然后在sqlserver里执行上述语句,记得后边一定要带分号

然后写个查询

select

*

from

工资表

where

身份z号

in(select

shenfenzheng_id

from

shenfenzheng)

得到的就是你想要的结果

---------补充---------

你所说的用户是指客户端程序的用户,和数据库用户关系应该不大,各个客户端应该在程序里都有连接数据库的文件,也就是实际 *** 作的用户连接数据库时用的都是数据库同一个用户,所以不用在每个用户下都建临时表


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9533532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存