面试老生常谈的问题(求解决方案)

paulyjin 2008-07-05 11:48:37
1:3000-5000万条记录的一张表(字段约100个)----如何实现优化,实现快速查找,更新----
1:如何写一个dll(vs.net环境--vb,c++,c#),实现跨系统的调用(比如linux)----
----------如果有好的解决方案,可在开帖给分----
...全文
405 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
快速查询就建索引
至于跨系统的dll不知道
  • 打赏
  • 举报
回复
100多个字段应该放在不同的表中,用视图链接
Feiin 2008-07-07
  • 打赏
  • 举报
回复
学习。。mark
stning 2008-07-07
  • 打赏
  • 举报
回复
学习
paulyjin 2008-07-07
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 paulyjin 的回复:]
顺便在问个问题:如何对sql存储过程进行大数据量的性能测试,比如读写磁盘---
[/Quote]
xlong224 2008-07-07
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 isline 的回复:]
1:3000-5000万条记录的一张表(字段约100个)----如何实现优化,实现快速查找,更新----

使用索引
将常用数据装入.Net 运行时Cache
将数据库的物理文件,分别建立在不同磁盘上,以减小IO瓶颈
分析执行频率高的SQL语句,将结果放入.Net 运行时Cache

1:如何写一个dll(vs.net环境--vb,c++,c#),实现跨系统的调用(比如linux)----

操作系统对库的调用与开发语言有什么关系,尤其是这种极少直接操作内存…
[/Quote]

不错
newrockmans 2008-07-07
  • 打赏
  • 举报
回复
1.用唯一值建索引
2.在LINUX上安装Mono运行C# .NET的程序即可
yagebu1983 2008-07-06
  • 打赏
  • 举报
回复
数据够多的啊!!!
hy_lihuan 2008-07-06
  • 打赏
  • 举报
回复
vs.net写的程序怎么样在linux在跑啊,有这样的环境吗?
至于数据库数据量在3000-5000万的话,确保减少关联表的数量、建立索引、减少无用大字段在语句内;
最好能够建立一些适合项目的策略:比如通过一个简单的条件就可以检索数据量到2-5万数量级,那检索速度会有所加快的
wdgphc 2008-07-06
  • 打赏
  • 举报
回复
1:3000-5000万条记录的一张表(字段约100个)----如何实现优化,实现快速查找,更新----

使用索引
将常用数据装入.Net 运行时Cache
将数据库的物理文件,分别建立在不同磁盘上,以减小IO瓶颈
分析执行频率高的SQL语句,将结果放入.Net 运行时Cache
condor888 2008-07-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 iuhxq 的回复:]
不懂,帮顶一下吧
[/Quote]
paulyjin 2008-07-06
  • 打赏
  • 举报
回复
顺便在问个问题:如何对sql存储过程进行大数据量的性能测试,比如读写磁盘---
paulyjin 2008-07-06
  • 打赏
  • 举报
回复
谢谢各位继续等
紫气东来_999 2008-07-06
  • 打赏
  • 举报
回复
如何写一个dll(vs.net环境--vb,c++,c#),实现跨系统的调用(比如linux)


为啥不用webservice呀。
.net要在CLR上运行的。。。。。。
linux上没装clr就没办法运行那DLL吧
sunxw18 2008-07-06
  • 打赏
  • 举报
回复
DLL 这个可以在linux下面运行的!
s208ping 2008-07-06
  • 打赏
  • 举报
回复
速度,影响它的因数太多了,且数据量越大越明显。
1、存储
将硬盘分成NTFS格式,NTFS比FAT32快,并看你的数据文件大小,1G以上你可以采用多数据库文件,这样可以将存取负载分散到多个物理硬盘或磁盘阵列上。

2、tempdb
tempdb也应该被单独的物理硬盘或磁盘阵列上,建议放在RAID 0上,这样它的性能最高,不要对它设置最大值让它自动增长

3、日志文件
日志文件也应该和数据文件分开在不同的理硬盘或磁盘阵列上,这样也可以提高硬盘I/O性能。

4、分区视图
就是将你的数据水平分割在集群服务器上,它适合大规模OLTP,SQL群集上,如果你数据库不是访问特别大不建议使用。

5、簇索引
你的表一定有个簇索引,在使用簇索引查询的时候,区块查询是最快的,如用between,应为他是物理连续的,你应该尽量减少对它的updaet,应为这可以使它物理不连续。

6、非簇索引
非簇索引与物理顺序无关,设计它时必须有高度的可选择性,可以提高查询速度,但对表update的时候这些非簇索引会影响速度,且占用空间大,如果你愿意用空间和修改时间换取速度可以考虑。

7、索引视图
如果在视图上建立索引,那视图的结果集就会被存储起来,对与特定的查询性能可以提高很多,但同样对update语句时它也会严重减低性能,一般用在数据相对稳定的数据仓库中。

8、维护索引
你在将索引建好后,定期维护是很重要的,用dbcc showcontig来观察页密度、扫描密度等等,及时用dbcc indexdefrag来整理表或视图的索引,在必要的时候用dbcc dbreindex来重建索引可以受到良好的效果。

不论你是用几个表1、2、3点都可以提高一定的性能,5、6、8点你是必须做的,至于4、7点看你的需求,我个人是不建议的。
s208ping 2008-07-06
  • 打赏
  • 举报
回复
字段约100个?何必放一个表里?
这不吃饱了那啥吗?
iuhxq 2008-07-05
  • 打赏
  • 举报
回复
不懂,帮顶一下吧
Flow_Cloud 2008-07-05
  • 打赏
  • 举报
回复
沙发?
zhang024 2008-07-05
  • 打赏
  • 举报
回复
如何写一个dll(vs.net环境--vb,c++,c#),实现跨系统的调用(比如linux)
这个可以吗?dll是不是只能是windows的专用东西?没有做过linux的开发?期待高人指点...
估计c or c++可以。
加载更多回复(18)

62,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧