组合查询 优化,谢谢

happymingnan 2003-10-15 10:06:55
sql = "select * from book where bname like '%" & txtbname.Text & "%' and bauthor like '%" & txtauthor.Text & "%' and bpublish like '%" & txtpublish.Text & "%' and bdescription like '%" & txtdescription.Text & "%' order by bookid desc"

组合查询,有是四个组合条件,这样写是不是效率比较低,我该怎么优化一下呢?
谢谢。
...全文
32 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
happymingnan 2003-10-16
  • 打赏
  • 举报
回复
up
li_ping 2003-10-16
  • 打赏
  • 举报
回复

同意 flxa() 的方法.
baguijin999 2003-10-16
  • 打赏
  • 举报
回复
up
iampawpawcsdn 2003-10-16
  • 打赏
  • 举报
回复
首先要在数据库中加索引。
flxa 2003-10-16
  • 打赏
  • 举报
回复
分析,在SQL中,用LIKE是比较费时间的,所以最好是少用。

同时 ,四个TEXT框,输入条件是,一定会有没有输入的条件的时候,就会出现 LIKE "%"的情况,其实这种情况下就等于这个条件没有。

所以,把生成SQL语句的代码多写些,
Dim WhereStr as string
if txtbname.Text<>"" then
WhereStr="bname like '%" & txtbname.Text & "%'"
ELSE IF ....
.....
ENDIF
这样是一个概率的问题,如果四个全输入的话,是一样的,但如果只输入一个的问,速度会比你的快些!
happymingnan 2003-10-15
  • 打赏
  • 举报
回复
up

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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