由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - like in sql
相关主题
MDX Cube做DW的,如何估计/衡量一项任务的工作量?
有没有人对MPP analytic database有兴趣?请教:SSIS输出到,某column中含隐藏字符'口',一条记录分成两
数据库产品分类图SSIS package upgrade issue
DELL PARALLEL DW APPLIANCEHelp on migrating oracle to db2, outerjoin
用SSIS EXPORT 到 EXCEL 2010 有2000个COLUMN,可能吗急问 hibernate query
SQL 2005 Intergration Service Q誰來幫我開來開悄? Interesting SQL query
random error for CAST( MONEY AS VARCHAR)Access 数据库查询
请教ssis求助:SQL Fulltext search不干活了。
相关话题的讨论汇总
话题: table话题: like话题: index话题: lastname
进入Database版参与讨论
1 (共1页)
A*******n
发帖数: 625
1
一个简单的问题, 一个table,里面有个column (customername)。 数据可能有几百
w条记录。
select *
from table
where customername like '%xxx%'
可能会慢的要死, 有什么其他办法吗
s**********o
发帖数: 14359
2
你的TABLE本身就没做好吧,为什么不是FIRSNAME ,LASTNAME各一个COLUMN呢
你LIKE未必能找到正确的人名,比如LIKE '%JOHN%',叫JOHN的多了
还可能是JON或者JONNATHAN,所以有可能就找不到;WILLIAM叫BILL的,
ROBERT叫BOB的都是很常见的,一般LASTNAME更可靠一些,直接=LASTNAME
MATCH的更准确
c*****d
发帖数: 6045
3
即便在customername字段上有索引
like '%xxx%'也不会使用该索引
B*****g
发帖数: 34098
4
google "full text search"

【在 A*******n 的大作中提到】
: 一个简单的问题, 一个table,里面有个column (customername)。 数据可能有几百
: w条记录。
: select *
: from table
: where customername like '%xxx%'
: 可能会慢的要死, 有什么其他办法吗

A*******n
发帖数: 625
5
no permission

【在 B*****g 的大作中提到】
: google "full text search"
A*******n
发帖数: 625
6
同意,没办法改也不想改,很多是公司的名字。

【在 s**********o 的大作中提到】
: 你的TABLE本身就没做好吧,为什么不是FIRSNAME ,LASTNAME各一个COLUMN呢
: 你LIKE未必能找到正确的人名,比如LIKE '%JOHN%',叫JOHN的多了
: 还可能是JON或者JONNATHAN,所以有可能就找不到;WILLIAM叫BILL的,
: ROBERT叫BOB的都是很常见的,一般LASTNAME更可靠一些,直接=LASTNAME
: MATCH的更准确

A*******n
发帖数: 625
7
那就是无解的意思了, 酷毙大师

【在 c*****d 的大作中提到】
: 即便在customername字段上有索引
: like '%xxx%'也不会使用该索引

s**********o
发帖数: 14359
8
在自己机器上装个DATABASE,用SSIS搞个SPLIT FUNCTION把数据重新倒一遍
FIRST, MIDDLE, LAST,TITLE,这样是比较干净的做法,公司的DATA MODEL
没做好,只能自己想办法

【在 A*******n 的大作中提到】
: 那就是无解的意思了, 酷毙大师
w****w
发帖数: 521
9
解还是有的,就看你肯花多大本钱。如果xxx经常重复搜索,可以建一个index table。
也可以按列中的词做索引。最终的办法是搬到hadoop或greenplum那样的MPP系统去。

【在 A*******n 的大作中提到】
: 那就是无解的意思了, 酷毙大师
w****w
发帖数: 521
10
解还是有的,就看你肯花多大本钱。如果xxx经常重复搜索,可以建一个index table。
也可以按列中的词做索引。最终的办法是搬到hadoop或greenplum那样的MPP系统去。

【在 A*******n 的大作中提到】
: 那就是无解的意思了, 酷毙大师
相关主题
SQL 2005 Intergration Service Q做DW的,如何估计/衡量一项任务的工作量?
random error for CAST( MONEY AS VARCHAR)请教:SSIS输出到,某column中含隐藏字符'口',一条记录分成两
请教ssisSSIS package upgrade issue
进入Database版参与讨论
A*******n
发帖数: 625
11
一个简单的问题, 一个table,里面有个column (customername)。 数据可能有几百
w条记录。
select *
from table
where customername like '%xxx%'
可能会慢的要死, 有什么其他办法吗
s**********o
发帖数: 14359
12
你的TABLE本身就没做好吧,为什么不是FIRSNAME ,LASTNAME各一个COLUMN呢
你LIKE未必能找到正确的人名,比如LIKE '%JOHN%',叫JOHN的多了
还可能是JON或者JONNATHAN,所以有可能就找不到;WILLIAM叫BILL的,
ROBERT叫BOB的都是很常见的,一般LASTNAME更可靠一些,直接=LASTNAME
MATCH的更准确
c*****d
发帖数: 6045
13
即便在customername字段上有索引
like '%xxx%'也不会使用该索引
B*****g
发帖数: 34098
14
google "full text search"

【在 A*******n 的大作中提到】
: 一个简单的问题, 一个table,里面有个column (customername)。 数据可能有几百
: w条记录。
: select *
: from table
: where customername like '%xxx%'
: 可能会慢的要死, 有什么其他办法吗

A*******n
发帖数: 625
15
no permission

【在 B*****g 的大作中提到】
: google "full text search"
A*******n
发帖数: 625
16
同意,没办法改也不想改,很多是公司的名字。

【在 s**********o 的大作中提到】
: 你的TABLE本身就没做好吧,为什么不是FIRSNAME ,LASTNAME各一个COLUMN呢
: 你LIKE未必能找到正确的人名,比如LIKE '%JOHN%',叫JOHN的多了
: 还可能是JON或者JONNATHAN,所以有可能就找不到;WILLIAM叫BILL的,
: ROBERT叫BOB的都是很常见的,一般LASTNAME更可靠一些,直接=LASTNAME
: MATCH的更准确

A*******n
发帖数: 625
17
那就是无解的意思了, 酷毙大师

【在 c*****d 的大作中提到】
: 即便在customername字段上有索引
: like '%xxx%'也不会使用该索引

s**********o
发帖数: 14359
18
在自己机器上装个DATABASE,用SSIS搞个SPLIT FUNCTION把数据重新倒一遍
FIRST, MIDDLE, LAST,TITLE,这样是比较干净的做法,公司的DATA MODEL
没做好,只能自己想办法

【在 A*******n 的大作中提到】
: 那就是无解的意思了, 酷毙大师
w****w
发帖数: 521
19
解还是有的,就看你肯花多大本钱。如果xxx经常重复搜索,可以建一个index table。
也可以按列中的词做索引。最终的办法是搬到hadoop或greenplum那样的MPP系统去。

【在 A*******n 的大作中提到】
: 那就是无解的意思了, 酷毙大师
w****w
发帖数: 521
20
解还是有的,就看你肯花多大本钱。如果xxx经常重复搜索,可以建一个index table。
也可以按列中的词做索引。最终的办法是搬到hadoop或greenplum那样的MPP系统去。

【在 A*******n 的大作中提到】
: 那就是无解的意思了, 酷毙大师
相关主题
Help on migrating oracle to db2, outerjoinAccess 数据库查询
急问 hibernate query求助:SQL Fulltext search不干活了。
誰來幫我開來開悄? Interesting SQL query高手救命
进入Database版参与讨论
s**********o
发帖数: 14359
21
就MATCH个LASTNAME还要搬系统啊,工程浩大

【在 w****w 的大作中提到】
: 解还是有的,就看你肯花多大本钱。如果xxx经常重复搜索,可以建一个index table。
: 也可以按列中的词做索引。最终的办法是搬到hadoop或greenplum那样的MPP系统去。

A*******n
发帖数: 625
22
都觉的麻烦,我的老板有个特点最好不要改原来的东西。 这点我觉的很要命,特别是
对我们这样的人。
j*******7
发帖数: 6300
23
如果这个表里只有两个column: id and customername,再投资把数据存储reorg的很紧
密高效(包括考虑使用RAM盘),估计对现代机器即使table scan也会很快的。
n****f
发帖数: 3580
24
我也是这么想的,而且在Oracle作了个测试。
我建了一张1千万记录的表,只有两个column, 结果发现,即使没有index, 下列query
运行很快:
select *
from table1
where customername like '%xxx%'

【在 j*******7 的大作中提到】
: 如果这个表里只有两个column: id and customername,再投资把数据存储reorg的很紧
: 密高效(包括考虑使用RAM盘),估计对现代机器即使table scan也会很快的。

A*******n
发帖数: 625
25
问题是有100个columns

【在 j*******7 的大作中提到】
: 如果这个表里只有两个column: id and customername,再投资把数据存储reorg的很紧
: 密高效(包括考虑使用RAM盘),估计对现代机器即使table scan也会很快的。

s**********o
发帖数: 14359
26
你不会搞个TEMP TABLE就2个COLUMN,找到后再MATCH回去啊

【在 A*******n 的大作中提到】
: 问题是有100个columns
j*******7
发帖数: 6300
27
Try creating a nonclustered index on id and customername, and optimize the
query to make sure it will scan and only scan that index.
If want to be faster, partition that index in order to make the index can be
scanned in parallel.
Anyway, I think full-text index is better solution, and the method should
not affect the application side.

【在 A*******n 的大作中提到】
: 问题是有100个columns
s**********o
发帖数: 14359
28
没看到人不让你在SERVER改东西么,FULLTEXT是个SERVICE,开启是要占很多内存的

be

【在 j*******7 的大作中提到】
: Try creating a nonclustered index on id and customername, and optimize the
: query to make sure it will scan and only scan that index.
: If want to be faster, partition that index in order to make the index can be
: scanned in parallel.
: Anyway, I think full-text index is better solution, and the method should
: not affect the application side.

j*******7
发帖数: 6300
29
看到了。只是觉得FULLTEXT这个东西应该是个挺成熟的东西了吧,不过本人也没有实战
过。如果只是领导不许就有点好像意味着公司人际关系可能有问题了。Server不可能永
远不能动,只要有必要就应该支持,DBA或Developer应该说服决策者考虑。感觉这个改
动其实并不大,充分测试一下就好了。

【在 s**********o 的大作中提到】
: 没看到人不让你在SERVER改东西么,FULLTEXT是个SERVICE,开启是要占很多内存的
:
: be

A*******n
发帖数: 625
30
公司结构说起来简单,可是头什么人都不信那就没办法了。以前提的建议可以很容易解
决问题(几天就搞定的东西),可是没人采纳,最后请别人做3个月,最后做不下去了
就把东西丢给其他公司管,然后常常查他们对不对。
真的可以自豪的说:
我们虽然时间耗了钱豪了, 可是我们做不了啊,你们还想怎样。
相关主题
Table Merge (SQL Server)有没有人对MPP analytic database有兴趣?
其实有个问题好久没有明白!数据库产品分类图
MDX CubeDELL PARALLEL DW APPLIANCE
进入Database版参与讨论
s**********o
发帖数: 14359
31
老板只在乎结果,让我20分钟就搞定了
A*******n
发帖数: 625
32
有可能都不用20分钟,不过我觉的你老板知道你在20分钟内搞定那就一定是你不对了。
呵呵
y****w
发帖数: 3747
33
这个查询的频率以及SLA是多少?
只是偶尔扫描单表的话,几百万真不是什么事儿。

【在 A*******n 的大作中提到】
: 一个简单的问题, 一个table,里面有个column (customername)。 数据可能有几百
: w条记录。
: select *
: from table
: where customername like '%xxx%'
: 可能会慢的要死, 有什么其他办法吗

A*******n
发帖数: 625
34
你说的也没错, 问题是有的时候timeout,有的时候没事。 有的时候server 忙的时候
就不好用。 其实可能还是beijing说的,主要是没permission

【在 y****w 的大作中提到】
: 这个查询的频率以及SLA是多少?
: 只是偶尔扫描单表的话,几百万真不是什么事儿。

A*******n
发帖数: 625
35
你说的也没错, 问题是有的时候timeout,有的时候没事。 有的时候server 忙的时候
就不好用。 其实可能还是beijing说的,主要是没permission

【在 y****w 的大作中提到】
: 这个查询的频率以及SLA是多少?
: 只是偶尔扫描单表的话,几百万真不是什么事儿。

y****w
发帖数: 3747
36
远水解不了近渴。 想想为啥timeout,你的访问级别是什么,脏读应该够了。
改善点就是增加冗余,单独成表/大小写改写之类,用修改代价换查询和锁。

【在 A*******n 的大作中提到】
: 你说的也没错, 问题是有的时候timeout,有的时候没事。 有的时候server 忙的时候
: 就不好用。 其实可能还是beijing说的,主要是没permission

1 (共1页)
进入Database版参与讨论
相关主题
求助:SQL Fulltext search不干活了。用SSIS EXPORT 到 EXCEL 2010 有2000个COLUMN,可能吗
高手救命SQL 2005 Intergration Service Q
Table Merge (SQL Server)random error for CAST( MONEY AS VARCHAR)
其实有个问题好久没有明白!请教ssis
MDX Cube做DW的,如何估计/衡量一项任务的工作量?
有没有人对MPP analytic database有兴趣?请教:SSIS输出到,某column中含隐藏字符'口',一条记录分成两
数据库产品分类图SSIS package upgrade issue
DELL PARALLEL DW APPLIANCEHelp on migrating oracle to db2, outerjoin
相关话题的讨论汇总
话题: table话题: like话题: index话题: lastname