Sybase - tempdb
前沿:换了新公司,公司使用的Sybase数据库。现在开始学习Sybase数据库了。希望未来的几个月能对Sybase由浅入深的了解和研究。
Tempdb的作用
sybase server端内部使用
排序
创建worktables
reformatting
存储临时表和index
Tempdb用途分类
Turely temp tables
Regular user tables
worktables
(1)Truly temporary tables
这种表是正在的临时表, 通过create table #tablename或select into #tablename创建,只在当前session中有效,session结束时,这些表或index自动被drop
create table #temptable (...)
or:
select select_list
into #temptable ...
(2)Regular user tables
通过tempdb..tablename 可以创建RUT,
create table tempdb..temptable
or:
select select_list
into tempdb..temptable
在什么情况下使用RUT表呢?
要在不同session间共享数据,通过grant permission共享
用于bulk copy
用完以后用户必须显示的drop掉,否则会一直存在,知道sybase server重启
(3)Worktables
在sybase处理join, sort或其他内部操作是创建,这种表不能共享,命令处理完后马上自动被drop
tempdb的大小
默认2MB,存储在master device上。
我们可以用sp_helpdb系统存储过程查看tempdb的大小
isql>sp_helpdb tempdb
name db_size owner dbid created status
--------- -------- ------ ------ ----------- --------------------
tempdb 2.0 MB sa 2 May 22, 1999 select into/bulkcopy
device_frag size usage free kbytes
------------ -------- ------------ ---------
master 2.0 MB data and log 1248
用户量越大,并发越多,将tempdb大小设置越大越好。通常情况下,设置tempdb的大小为你的数据库大小的20%~25%
tempdb和lock
在tempdb中create或drop表,索引会引起system table上锁争用,这些system table包括sysobjects, syscolumns和sysindexes。
如果在tempdb重复create或drop表和索引,那么最好的办法是在程序启动时将临时表建好,结束时truncate table来删除数据以减少system table上锁的争用。
tempdb性能优化
(1) 减少log,多用select into,少用create table #xxx and insert,select into产生最少的log
(2) 避免在tempdb中创建大的表,如果创建了大的表,记得建index
(3) 用嵌套SQL,嵌套调用Stored proc 代替大的表
转至:http://www.cnblogs.com/xzpp/archive/2012/07/19/2599962.html
Sybase - tempdb的更多相关文章
- sybase学习
安装 下载安装包, 解压到/opt/sybase,注意必须目录是这样的/opt/sybase/ASE-15_0/install/ ,因为RUN_DBSVR里面写死了/opt/sybase/ASE-15 ...
- Sybase ASE无响应的又一个情况
昨天下午,客户那边的系统管理员给我电话,说有套系统的SYBASE数据库最近有点怪,总是时不时莫名其妙地就忽然卡死,有可能一下子就自动恢复了,也有可能后面一直卡住,只好重启.根据客户反映的状况,初步判断 ...
- Sybase配置数据库参数
Sybase配置数据库参数参数配置的两种方法:sp_configure ‘参数名称’,参数值修改参数文件(如:Sybase主机上的 %SYBASE%\servername.cfg) 配置Sybase数 ...
- SYBASE的select into与insert into使用和区别
对于表的部分或全部字段的复制,Sybase数据库提供了两种方式:select into和insert into. select into: 语法:select value1, value2, val ...
- Sybase数据库应用系统调优的五大领域
Sybase数据库应用系统调优的五大领域 2011/3/14/13:49来源:慧聪it网 本 文以“某大型商业银行的网上银行系统”这一很具有典型意义的企业级大型Sybase数据库应用系统为例,涉及了数 ...
- 性能问题案例02——sybase连接堵塞问题
现象:近期现场反馈一个问题.系统在审批的时候,常常卡死.整个系统全然用不了,浏览器訪问处于loading的状态. 排查: 1.一般系统挂了首先想到内存问题,可是现象是loading,也就是说没有挂,线 ...
- 数据库实战案例—————记一次TempDB暴增的问题排查
前言 很多时候数据库的TempDB.日志等文件的暴增可能导致磁盘空间被占满,如果日常配置不到位,往往会导致数据库故障,业务被迫中断. 这种文件暴增很难排查,经验不足的一些运维人员可能更是无法排查具体原 ...
- Sybase 常用SQL
http://blog.chinaunix.net/uid-200142-id-3073894.html ===========================使用总结================ ...
- Tempdb initial size和dbcc shrinkfile
在使用sql server时您可能遇到过下面的情况,tempdb的数据文件初始大小为3mb, 随着对tempdb的使用,tempdb文件逐渐变得很大(例如30GB),导致了磁盘空间不足. 此时您需要立 ...
随机推荐
- bzoj1858[Scoi2010]序列操作 线段树
1858: [Scoi2010]序列操作 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 3079 Solved: 1475[Submit][Statu ...
- 基于Spark环境对比Python和Scala语言利弊
在数据挖掘中,Python和Scala语言都是极受欢迎的,本文总结两种语言在Spark环境各自特点. 本文翻译自 https://www.dezyre.com/article/Scala-vs-Py ...
- TensorFlow官方文档
关于<TensorFlow官方文档> <TensorFlow官方文档>原文地址:http://devdocs.io/tensorflow~python/ ,本次经过W3Csch ...
- Oracle10g以上sysaux表空间的维护和清理
SYSAUX表空间在Oracle 10g中引入,其作为SYSTEM表空间的辅助表空间.之前,一些使用独立表空间或系统表空间的数据库组件,现在SYSAUX表空间中存在.通过分离这些组件,减轻了SYSTE ...
- struts2中action的class属性值意义
整合了spring就不同了,orz struts2单独使用时action由struts2自己负责创建:与spring集成时,action实例由spring负责创建(依赖注入).这导致在两种情况下str ...
- SpringMVC之简单的增删改查示例(SSM整合)
本篇文章主要介绍了SpringMVC之简单的增删改查示例(SSM整合),这个例子是基于SpringMVC+Spring+Mybatis实现的.有兴趣的可以了解一下. 虽然已经在做关于SpringMVC ...
- Java不走弯路教程(2.Hello,Java!)
2.Hello,Java! 欢迎来到Java的世界,在上一章,我们已经完成了DOS的基本操作学习和Java的环境搭建,在本章中我们Java来完成一个简单的DOS程序. 2.1 Hello,Java! ...
- 使用Java可以做得一些事
安卓 Web JSP使用Echarts的最简单的例子 微信 wechat4j weixin-java-tools weixin4j 网络服务器
- Android Design Support Library使用详解——TextInputLayout与TextInputEditText
TextInputLayout 在谷歌的Material Design中,文本输入是这样表现的:当用户点击输入框想要输入文字时,如果输入框是空的,那么它的提示文字(hint)就会变小并且同时移动到输入 ...
- MacOS下postgresql数据库密码的那些事
如果你是第一次玩postgresql数据库,你会发现你给role或者user明明设置了密码,但在登录的时候毛都不用输入,直接就进去了,怎么那么爽快!? 虽然爽快,但貌似不该这样啊. 其实这些都和一个重 ...