八达网

标题: 我吧单位的数据库调优到速度是原来的10倍!领导都夸我牛B [打印本页]

作者: woodangel    时间: 2012-8-30 17:58
标题: 我吧单位的数据库调优到速度是原来的10倍!领导都夸我牛B
本帖最后由 woodangel 于 2012-8-30 19:26 编辑

所有数据能用一个表的用一个表,几乎没有表之间的关联
所有字段能合并的全部合并起来,比如房号102栋号04区号西区 就合并成一个字段用数字 1020401表示
日期,文本类型字段全部变成 数字型。如 日期用数字表示 2012年1月1日 用公元到现在的日期累加值表示=2012+1+1=2014,所有文本全部用数字表示,姓名用ASII码表示。
最后调优完成后数据库几乎面目全非
打开数据库的表就看到 010010 ,2346, 1122的数字,每个字段都是数字型
经测试检索数据的时候 是原来的十倍
作者: Springsun    时间: 2012-8-30 18:00
。。。。。。。。。。。。。。。。。
作者: iloveyou    时间: 2012-8-30 18:01
写应用的人会想杀掉你的。。
作者: woodangel    时间: 2012-8-30 18:04
iloveyou 发表于 2012-8-30 18:01
写应用的人会想杀掉你的。。

应用程序就是我写的,录入数据的时候不过是程序翻译一下而已,录入速度又不是很快翻译一下不占多少时间,倒反是检索数据的时候花大量时间
作者: woodangel    时间: 2012-8-30 18:06
下步我打算把数据库检索引擎用汇编重写 程序不用SQL语句用汇编直接检索数据,估计还能提高10倍速度
作者: wocnm    时间: 2012-8-30 18:10
woodangel 发表于 2012-8-30 18:06
下步我打算把数据库检索引擎用汇编重写 程序不用SQL语句用汇编直接检索数据,估计还能提高10倍速度

用不着汇编,语言解释占的性能不大,关键看你是用什么结构,如果你不用B树结构你即使直接用0101写性能差得要命
作者: Pentium9    时间: 2012-8-30 18:10
数据库太快不知道会不会有淡臭?
作者: wocnm    时间: 2012-8-30 18:11
还有就是LZ知道为什么索引用B树结构不?
作者: 343887419    时间: 2012-8-30 18:17
高端话题。。。屌丝插不上嘴
作者: rolin    时间: 2012-8-30 18:19
大师攻陷了实时渲染领域又开始毁灭数据库领域了
作者: kkk_hehe    时间: 2012-8-30 18:33
白猪威武,困扰屌丝多年的速度问题终于解决了
作者: Bookends    时间: 2012-8-30 19:16
只能说原来的水平太差或者经验太差
作者: kurama220    时间: 2012-8-30 19:39
大师真是多才多艺
作者: THEROCK802    时间: 2012-8-30 19:46
白猪威武
作者: 何其低俗焉    时间: 2012-8-30 20:02
白猪猪真是全才啊
作者: jssmail    时间: 2012-8-30 20:09
我要是能成.多少BUG呀
作者: 猎鹰赌场    时间: 2012-8-30 20:09
白猪威武
作者: prettypig    时间: 2012-8-30 20:12
傻逼东西终于找到你了,再不回去院长不给你糖吃了
作者: shinobi    时间: 2012-8-30 20:14
有几个疑问请LZ回答一下:
1.这么存数据如何保证团队开发时,N个人写代码都能理解你的存储方式并做编码?( 不要说只要自己能编就可以了)
2.大多数数据的获取都是从缓存中得到的(可以用静态页面或内存缓存等),到底层的数据库中读取的频率其实很小
3.读取速度即使能快10倍,如果不是超大型的系统,用户感觉不会有多大,而超大型的系统更加依赖缓存
作者: [Y.H]DearXi    时间: 2012-8-30 20:15
你那么NB上面还有领导?
作者: Explode    时间: 2012-8-30 20:17
prettypig 发表于 2012-8-30 20:12
傻逼东西终于找到你了,再不回去院长不给你糖吃了

。。。郁闷了很多很多天
看到这个忍不住笑了,谢谢你。
作者: 说谎の天使    时间: 2012-8-30 20:18
严重不符合3NF吧?可维护性基本为0,在哥手下直接开除。
作者: 啪啪啪必须的    时间: 2012-8-30 20:28
一万威武!
作者: woodangel    时间: 2012-8-30 20:39
本帖最后由 woodangel 于 2012-8-30 20:40 编辑
shinobi 发表于 2012-8-30 20:14
有几个疑问请LZ回答一下:
1.这么存数据如何保证团队开发时,N个人写代码都能理解你的存储方式并做编码?( ...


我用接口编程,所有写入数据库的时候中间有一个接口自动翻译,读取出来的时候也自动翻译,这个数据库写入读取的时候不是很频繁多数时候都是检索如同百度搜索引擎。所以翻译消耗的时间不是很重要
作者: blue_cell    时间: 2012-8-30 20:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: Cx.SC    时间: 2012-8-30 20:57
..............
作者: GGiloveU    时间: 2012-8-30 21:39
如 日期用数字表示 2012年1月1日 用公元到现在的日期累加值表示=2012 1 1=2014,

这样说,2011年2月1日也是2014?
作者: intothebbc    时间: 2012-8-30 21:47
我就觉得奇了怪了 你这样折腾 还能提高性能 ,每取1行数据 都要用函数转换一次 ,难道比你直接 存字符或者其他类型性能差 !
还有 你把表都连到一起,数据大量冗余, 也许 提高了表join的 性能 ,但是取单表的时候不是更慢!
而且你这些  东西 在oracle中 一个物化视图 就搞定 。
我只能说 你要么就是装B忽悠外行人,要么就是菜B!!!!

作者: raynez    时间: 2012-8-30 21:55
多少人奉劝过你不要在8da装码农B,你就是不听

再说一次吧,好好写你的淡臭系列,那才是大家喜闻乐见的
作者: Explode    时间: 2012-8-30 22:11
好的。那我出去了。
作者: 飞翔的奶牛    时间: 2012-8-30 22:20
高端话题。。。屌丝插不上嘴
作者: dzbbc163    时间: 2012-8-30 22:45
不懂,搞个hash不久可以了吗?
作者: everrr    时间: 2012-8-30 22:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: p-k    时间: 2012-8-30 22:52
意淫强身
作者: jiaxiao    时间: 2012-8-30 22:53
- -明显lz你外行人,却觉得自己做的内行。。。。
而且快10倍什么的都是鬼扯的-0 -;;一次全表扫描快50%到60%最多了。。。。
而且如果是索引字段的优化,真心基本感觉不到性能变快的。

另外,加大了维护人员的成本,有的时候通过数据库进行数据简单分析的时候,操作人员都哭了。你这种简单的性能优化问题,做过数据库的都想过吧。完全不可行的。
如果说你专门开发个转码工具给维护人员。。。。老大,数据库存的就是0,1.,显示给你的是转过的,你不觉得你是在做无用功吗?
作者: jiaxiao    时间: 2012-8-30 22:56
再有- -
都存一个表- -
不说维护问题。
一个表100条数据,另外一个表1000条数据,你合成一个表可能就是1万条数据,任何单表查都需要借助group by。
- -各种浪费cpu。
作者: 平田君    时间: 2012-8-30 23:29
好多新人啊
作者: wwwdark    时间: 2012-8-30 23:44
多少人奉劝过你不要在8da装码农B,你就是不听

再说一次吧,好好写你的淡臭系列,那才是大家喜闻乐见的
作者: 小包猫小包猫bm    时间: 2012-8-30 23:53
居然有人认真回复,,,
作者: anomaly    时间: 2012-8-31 00:08
吊丝插不上嘴好着急

楼主你知道数据库的 Normal form 么?
作者: 潜规则    时间: 2012-8-31 08:46
原创内容 水晶 +2
作者: woodangel    时间: 2012-8-31 09:14
jiaxiao 发表于 2012-8-30 22:53
- -明显lz你外行人,却觉得自己做的内行。。。。
而且快10倍什么的都是鬼扯的-0 -;;一次全表扫描快50%到 ...

显示和录入都在客户端翻译,根本不影响服务器,现在主要解决的是服务器检索速度问题100W个客户搜索服务器根本承担不了.客户录入显示慢0.0001秒根本没感觉
作者: 天谬    时间: 2012-8-31 09:28
看着认真回复的人 身上都有点淡臭
作者: 星际原动力    时间: 2012-8-31 10:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 热啊    时间: 2012-8-31 10:50
其实这是个引怪贴啊
作者: nejcnejc    时间: 2012-8-31 10:50
纯傻逼。。。
作者: woodangel    时间: 2012-8-31 14:04
最近又进一步调优数据库查询分服务端查询 和客户端查询,,排序 调整,筛选,分类这些查询都放到客户端,服务端内的查询基本都是 SELECT 字段名 FROM 表名 WHERE 字段名=?这种形式。调整后服务器检索数据又快了5倍
作者: p-k    时间: 2012-8-31 14:17
woodangel 发表于 2012-8-31 14:04
最近又进一步调优数据库查询分服务端查询 和客户端查询,,排序 调整,筛选,分类这些查询都放到客户端,服 ...

我都怀疑你知道存储过程是啥不。。。。。
作者: warbear    时间: 2012-8-31 14:23
大师真是多才多艺
作者: intothebbc    时间: 2012-8-31 14:52
woodangel 发表于 2012-8-31 14:04
最近又进一步调优数据库查询分服务端查询 和客户端查询,,排序 调整,筛选,分类这些查询都放到客户端,服 ...

楼主 该吃药了!
MD 表上建个索引,检索出来的数据就排好序的  要你排个毛序 啊! 筛选放客户端 ,只有SB  才想的出来 。

作者: jiaxiao    时间: 2012-8-31 17:27
woodangel 发表于 2012-8-31 09:14
显示和录入都在客户端翻译,根本不影响服务器,现在主要解决的是服务器检索速度问题100W个客户搜索服务器根 ...

没索引吗,还是说全部模糊匹配?
作者: o2v    时间: 2012-8-31 17:32
哈哈哈哈
作者: 切克闹    时间: 2012-8-31 17:34
日期用数字表示 2012年1月1日 用公元到现在的日期累加值表示=2012+1+1=2014
笑尿了
作者: rpkc    时间: 2012-8-31 20:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: bingle    时间: 2012-8-31 21:02
看了LZ一些帖子,感觉基本达到了成人教育计算机专业的水平
作者: xsh007628    时间: 2012-8-31 21:21
高端话题。。。屌丝插不上嘴




欢迎光临 八达网 (https://www.8-da.com/) Powered by Discuz! X2.5