sql优化 对like ‘%xx%’ 的替换
在SQL中可以使用Like进行模糊查询,例如 f_stuname like 'a%' 查询f_stuname列以a开头的记录。
当我们在应用中使用
f_stuname
like '%a%' 时,如果
f_stuname有索引的话,这个索引也是不执行的
在SQL优化中这个写法就是一个不好的SQL了。
那么如何来替换这个呢,这一个就用到了Oracle的instr函数了
我们可以这样做,把
SELECT t.* from tableName t WHERE t.f_srcname LIKE '%通过%'; (执行时间:0.063s)
替换
SELECT a.* from
tableName
a WHERE instr(a.f_srcname,'通过') > 0; (执行时间:0.031)
相关文档:
create table "user" (
id int identity,
constraint PK_USER prim ......
CREATE proc [dbo].[proc_DeleteTemplet] (@templeId varchar(15),@errorMessage varchar(50) output)
as
begin
declare @error int
set @error =0
begin tran
delete from tc_templet_Head where fBillNo=@templeId
set @error=@error+@@error
delete from tc_templet_ ......
一、情况说明
sql server 2000以前的版本,例如7.0一般不存在多个版本,只有标准版跟桌面版,用户如果不清楚该装什么版本的话,可按安装上的
安装先决条件指示安装,一般在WIN2000 服务器版上装标准版,其他的系统装桌面版的就可以;而SQL Server 2000安装问题就比较大,时常
见到的问题如下:
......
1.使用Management Studio Express,用“Windows身份验证”登录,选中SQL服务器名,右击鼠标选择属性,在服务器属性选项页面,选择“安全性”,将服务器身份验证由 “Windows身份验证”改为“SQL Server和Windows身份验证”,单击确定。
2.使用SQL Server 2005外围应用配置器,选 ......
1. Q. What is a join?
A. Join is a process of retrieve pieces of data from different sets (tables) and returns them to the user or program as one joined collection of data.
2. Q. Can a table have more than one foreign key defined?
A. A table can have any number of foreig ......