社区
Sybase
帖子详情
有关Sybase的几个问题
hkzhou
2003-08-14 05:13:05
在大型数据库开发中,我有几个问题不清楚 希望有经验的高手能不吝指教。
1:聚簇索引(clustered indexes)和非聚簇索引(unclustered indexes)创建和使用中该注意哪些问题?
2:存储过程中使用case when 语句是不是效率不高?
3:编写存储过程中,应该采用哪些优化策略,有哪写避忌?
...全文
43
13
打赏
收藏
有关Sybase的几个问题
在大型数据库开发中,我有几个问题不清楚 希望有经验的高手能不吝指教。 1:聚簇索引(clustered indexes)和非聚簇索引(unclustered indexes)创建和使用中该注意哪些问题? 2:存储过程中使用case when 语句是不是效率不高? 3:编写存储过程中,应该采用哪些优化策略,有哪写避忌?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hkzhou
2003-08-16
打赏
举报
回复
楼上 哪里有关于这些的书下载呀?我那本e文书 看起头痛的很 谢谢了哈
duttian
2003-08-15
打赏
举报
回复
楼上说的不错。tempdb是挺重要的最好优化一下。
yhbttfile
2003-08-15
打赏
举报
回复
呵呵~~~数据的基本知识都不知道,怎么去谈数据库调优和设计。
还是从基本开始吧。如,索引如何工作?怎样看存储过程的执行计划?怎样模拟数据,使用监控工具采集数据?为什么表叫堆表?什么叫APL和DOL表?。。。
这些都了解了吗?这些东西都不了解,最好先补补,通过在BBS上来问这些问题是不大能提高你的设计能力的。这里的朋友可能只能给你泛泛的谈些。
至于tempdb的问题,下面这些问题需要补充:
1)空间要合适大,可以容纳下你的一次查询过程的所有临时表;
2)最好为tempdb创建多个单独设备;
3)如果条件允许,可以把其创建在专门的快速设备上;
4)tempdb不要和自己的业务数据库使用相同的设备;
。。。 实在想不起来还有哪些需要注意了。
hkzhou
2003-08-15
打赏
举报
回复
up
hkzhou
2003-08-15
打赏
举报
回复
tempdb除了要设置一个合适的空间,还哪些地方要对其优化一下?
索引的结构是不是就是一个指针链表??
hkzhou
2003-08-15
打赏
举报
回复
楼上的大哥能不能详细介绍优化器原理,我对这东西概念上还不是很清晰。拜托!
dennis2001
2003-08-15
打赏
举报
回复
关于一个表是否需要建立cluster index或者noncluster index的问题,需要根据你将如何使用这个表来定。这需要你理解sybase的数据存放原理,查询原理和优化器原理,很难一两句话说清。简单讲,cluster index按照索引健值顺序存放数据,有如下好处,1、可以减少insert时的尾页竞争;2、对于order by < >等一次返回多条记录的查询有非常明显的改善。但也有不利地方,如表需要经常对健值进行修改时,会使性能降低。
dennis2001
2003-08-15
打赏
举报
回复
存储过程中的case when确实会对性能影响非常大,尤其是如果case的判断中有变量的话,优化器在存储过程的编译时很难做出正确的选择。如果性能对你很重要的话,就尽量不要用case when句式。
edarw
2003-08-15
打赏
举报
回复
个人经验,系统级的调优设置完成后,在每个存储过程编写完后用showplan看一下,确认使用的数据库对象、执行流程以及是否用到索引等等,否则即使你的前期系统调优参数设置再好,如果一个环节没做好会功亏一篑。
hkzhou
2003-08-15
打赏
举报
回复
up
yhbttfile
2003-08-14
打赏
举报
回复
1:聚簇索引(clustered indexes)和非聚簇索引(unclustered indexes)创建和使用中该注意哪些问题?
一般一个表都需要创建一个聚簇索引,如果一个表没有索引,则就成了堆表,容易产生插入热点(附加影响就是可能产生很多锁和产生页链错误)。聚簇索引没有索引页级,或者页级就是数据记录本身。
2:存储过程中使用case when 语句是不是效率不高?
可能优化程序已经做了处理,SYBASE在编译存储过程中会启动优化策略。就像C++编译器一样,会优化程序。可能CASE WHEN就变成几个IF THEN ELSE语句了。我觉得没有效率的影响。
3:编写存储过程中,应该采用哪些优化策略,有哪写避忌?
编写存储过程中,可能一下几个方面需要考虑:
1)不要使用非常高级别的锁;
2)事务过程中,特别是使用到了游标的事务,最好是在一个游标处理完成以后进行一次COMMIT或者ROLLBACK操作,这样可以很快释放锁给其他链接使用,避免死锁,提高效率;
3)在存储过程中,尽量使用索引字段作为查询条件或者关联条件或者排序ETC;--本规律是优化策略,不仅仅使用于存储过程
4)使用合适的tempdb空间,因为在存储过程中产生的临时表,如关联或者排序产生的临时表都是传剑在tempdb中的。
其他的,我也说不上来了,请高手继续补充。
boyfu
2003-08-14
打赏
举报
回复
楼上的也可以给点介绍啊
有时候看那些厚厚的资料
醒悟不过来的
就提醒点哦
关注这个问题哈
crazyjava168
2003-08-14
打赏
举报
回复
最好读读(红皮书)SYBASE11,上面讲的非常清楚!
PostgreSQL数据库管理(三)
它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 Oracle、
Sybase
、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。 事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92...
Sybase
注意的
几个
问题
1.
Sybase
的配置中的number of open indexs和number of open objects 的value值的
问题
,太小可能出现连接中断value值一般在1000-1500之间 2.出现Divide by zero occurred 的异常时,原因是被除数为零3.数据库中的表...
jdbc查询
sybase
参数过多
问题
公司的数据库一直是
sybase
,用起来也挺好的,最新客户现场出现一个
问题
,数据无法传输了,看日志非常简单,一下就定位到了原因。 很简单,参数超过了2000个,因为这个功能是根据主表的主键查询子表,方法用的是where...
详细讲解
Sybase
数据库乱码
问题
的解决方法
详细讲解
Sybase
数据库乱码
问题
的解决方法 搭建测试数据库服务器时,遇到了乱码
问题
,之前没有遇到是因为开发数据库服务器是早就安装好并设置好字符集的,因此些
问题
在部署测试环境时才出现,当时已经将...
linux 登陆
sybase
_远程连接
sybase
数据库 步骤
本文适用于自己作为客户端去远程访问
sybase
的实例之前在搜索远程连接
sybase
数据库时很多人推荐安装powerbuilder,我也试着安装...如果pb不能用的话可以按我的这种做法试试一、下载
sybase
12.5(可能有
几个
版本,我这个...
Sybase
2,596
社区成员
25,614
社区内容
发帖
与我相关
我的任务
Sybase
Sybase相关技术讨论区
复制链接
扫一扫
分享
社区描述
Sybase相关技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章