首页 / 知识
关于tsql:在T-SQL中对临时表的索引的最佳使用
2023-04-14 19:24:00

Best use of indices on temporary tables in T-SQL如果要在存储过程中创建临时表,并想在其上添加一个或两个索引,以提高针对该存储过程做出的任何其他语句的性能,最好的方法是什么? Sybase这样说: "表在创建索引时必须包含数据。如果创建临时表并在空表上创建索引,则Adaptive Server不会创建列统计信息,例如直方图和密度。如果在创建后插入数据行索引,则优化器的统计信息不完整。" 但是最近一位同事提到,如果我在与实际使用临时表的存储过程不同的存储过程中创建临时表和索引,则Adaptive Server优化程序将能够使用它们。 总的来说,我不喜欢package程序增加的价值,因此我实际上并没有去测试它,但是我认为我应该把这个问题放在那儿,看看是否有人还有其他方法或建议吗? 一些想法:
如果您总体上对性能提示感兴趣,那么我在这里还回答了一些其他有关此问题的问题:
将数据放入临时表后添加索引有什么问题? 您需要注意的一件事是索引对可能同时运行的其他过程实例的可见性。 我喜欢为这类临时表(以及索引)添加一个GUID,以确保不存在冲突。这种方法的另一个好处是,您可以简单地使temp表成为真实表。 此外,请确保在存储过程运行期间需要多次查询这些临时表中的数据,否则创建索引的成本将超过选择所带来的好处。 在Sybase中,如果先创建一个临时表,然后在一个proc中使用它,则将使用该表中的100行估算来建立选择计划。 (计划是在填充表之前在过程开始时生成的。)这可能会导致对临时表进行表扫描,因为临时表只有" 100行"。调用另一个proc将导致Sybase使用实际的行数来为select构建计划,这使优化程序可以选择要使用的更好的索引。我已经看到使用此方法的显着改进,但由于有时没有区别,因此请对您的数据库进行测试。 |
最新内容
相关内容
写5条linux命令语句?
写5条linux命令语句?,工作,地址,系统,信息,目录,命令,管理,标准,功能,文件,linux常用的命令有哪些1、linux系统常用操作命令如下:ls:全拼list,功linux命令语句规律?
linux命令语句规律?,系统,管理,基础,网络,信息,命令,服务,简介,工具,标准,linux必学的命令是什么?1、Linux常用的命令可以分为以下几类:安装和linux使用索引命令?
linux使用索引命令?,名称,系统,命令,文件,环境,工作,位置,目录,文件名,索引,在linux中如何用命令查找文件在哪1、使用查找命令 “find”命令允linux查看性能的命令?
linux查看性能的命令?,系统,情况,信息,数据,状态,指标,第一,分析,命令,宏观,linux查看cpu个数和核心数linux怎么查看cpu的个数?我们一起来了解linux性能测试命令?
linux性能测试命令?,数据,系统,工具,标准,设备,地址,情况,基础,网络,环境,如何排除linux系统的读写缓存进行磁盘性能测试chkdsk。chkdsk的全称linux刷新索引的命令?
linux刷新索引的命令?,系统,工作,工具,管理,软件,设计,状态,基础,命令,预期,【Linux操作】---终端神器tmux一般使用命令和快捷键进行操作,可在linux循环语句命令?
linux循环语句命令?,地方,增长,数字,语句,流程,名称,工具,代码,数据,条件,Linux入门系列——awk命令详解1、其中command是真正的awk命令,-F表示linux命令3d性能?
linux命令3d性能?,系统,工具,实时,百分比,信息,分析,软件,情况,网站,建设,Linux常用性能诊断命令详解1、第二行信息依次为:进程总数、运行中的linux性能管理命令?
linux性能管理命令?,工具,系统,信息,状态,网络,情况,工作,时间,短信,平均,linux性能监控工具有哪些1、开源网络监控工具:NetXMS NetXMS提供了企linux性能调参命令?
linux性能调参命令?,工具,工作,信息,网络,分析,系统,地址,实时,管理,状态,在linux中top命令的具体用法是什么?1、top命令用于显示系统运行的进linux性能找不打命令?
linux性能找不打命令?,系统,实时,软件,名字,分析,信息,情况,工具,电脑,时间,linux找不到命令要安装什么服务Linux中的ftp服务器一般是安装vsft嵌入式linux命令语句?
嵌入式linux命令语句?,系统,环境,基础,网络,软件,基础知识,服务,设备,管理,嵌入式,嵌入式linux系统开发详解_嵌入式linux系统介绍嵌入式Linux