作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 关於字串压缩演算法?MD5?URL?
时间Wed Feb 6 13:03:28 2013
→ pcyu16:有兴趣讨论的人不少 不过缺细节不知道怎麽讨论
虽然... [下略数十字]
不过就由我起个头,完全不理会原 po 自己重新起卦算命 [喂喂]
※ 引述《popcorny (毕业了..@@")》之铭言:
: 标题: Re: [问题] 关於字串压缩演算法?MD5?URL?
^^^^^^^^^^^^^^^^^^^^^^^
顺便酸一下,从标题我们就知道原 po 根本误会「压缩」二字的意思
MD5 跟 URL shorter 也算字串压缩的话
那把该 column 的内容全部存 0 就好啦 \囧/
______________________________________________________________________
为了避免继续算命下去,所以先作几个前提假设:
1. ZIP 是最佳的字串压缩演算法
aka 不要妄想设计一个新的字串压缩演算法
2. 要储存的是字串,大小不一长度不限
3. DBMS 得是 Oracle
(昨天简单查了一下,Oracle 提供的 datatype 很少?)
接下来就有几个问题要解决:
A. 要用哪个 datatype 才能解决问题
B. 储存空间问题
C. 运算效率问题
(也就是,请不要用「效率」/「performance issue」简单带过)
D. 能不能作 like 条件运算?
(不考虑外挂 full text search engine)
最简单直觉的方式:
还是用有 2000 char 限制的 nvarchar 之类的 datatype
字串丢进去之前先用 ZIP 压缩过,取出来时用 UNZIP 解压缩
A:未必能满足,谁能保证压缩完一定小於 2000 字?
(不满足假设 1)
B:一定比较好
C:必要之恶
D:无法 search
所以基本上这个解法先天上就失败....
: → Lordaeron:用BLOB TYPE基本上是没有PERFORMANCE ISSUE的系统才用 02/06 12:02
虽然有点张飞打岳飞,但是 GAE.... [殴飞]
其实(後来)我不太懂为甚麽 Blob 会有 performance issue
或着说,到底是空间问题还是运算效率问题?
: → popcorny:如果是为了效能改存档我可以理解..但是如果是一定要存DB 02/06 12:08
: → pcyu16:有兴趣讨论的人不少 不过缺细节不知道怎麽讨论 02/06 12:09
: → popcorny:那用CLOB应该也没什麽不好吧.. 纯粹以原po的角度 02/06 12:10
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.202.140
1F:推 maxpeter2100:关於效能问题 我也只是听说clob很占空间 dba不建议 02/06 13:12
2F:→ pcyu16:一楼 大家在等你把问题跟限制描述清楚... 02/06 13:17
3F:→ pcyu16:不然你这样东一句西一句 又没有讲原因 大家会很困扰.. 02/06 13:20
4F:→ Lordaeron:jdbc 连线,单笔一来, 一回, 就有资料了,若含BLOB 02/06 15:38
5F:→ Lordaeron:则另外要开一条线来取得 blob field 的值 02/06 15:40
6F:→ Lordaeron:所以才有varchar field由255开始放大的情况 02/06 15:43
7F:→ cyclone350:我也听主管说 blob 跟 clob 最好别用,会很慢 02/06 18:57
8F:→ Lordaeron:不用主管说了, ORACLE 自己就说了. 02/06 20:01