首页 新闻 会员 周边 捐助

几个数据库效率问题

0
悬赏园豆:50 [已解决问题] 解决于 2009-05-03 11:42

问题1:专门一个存储过程执行其他存储过程是否有问题?

问题2:大量使用逻辑没问题的事务是否影响效率?

问题3:如何避免使用like、in?

问题补充: 对于like字段搜索,由于全文搜索(我用的是sql server 2008)里面有非检索字。所以很多字都检索不了,比如“男”“女”这些经常都需要搜索的字,还有单个字母都经常搜不了,比如f,我要一直搜到ffff才出来,所以想再问一个问题,能否把sql的非检索字去掉?
GeorgeHuang的主页 GeorgeHuang | 初学一级 | 园豆:55
提问于:2009-04-23 10:31
< >
分享
最佳答案
0

1.存储过程相互调用如果是必须的,则对效率没有影响

2.在不需要事务的时候最好别显式地打开事务,如不需要锁表的select操作自然最好别去锁

3.是否使用like和in完全取决于你的业务逻辑,该用的地方还是根用,当然like可以用全文索引替代以得到更好的效率

Gray Zhang | 专家六级 |园豆:17610 | 2009-04-23 10:50
其他回答(2)
0

一个存储过程可以调用另一个,数据库的效率要看连接字符串的效率,不是看like 和in!

子夜星辰 | 园豆:1613 (小虾三级) | 2009-04-23 10:47
0

1. 没什么问题。

2. 不会影响,你不开的话SQL Server也会默认开一个。如果你是多次操作,显式打开一个事务有可能还会比不显式打开事务要快。

3. like, in 很好用,没有理由不用。对于短内容(姓名、文章标题、关键字等)的搜索like应该比全文检索要快,对于长内容(新闻、博客、论文等)就应该用全文检索。

Azuresong | 园豆:3565 (老鸟四级) | 2009-04-23 11:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册