chapter 2 发动战争

战争的开始:系统从开发环境到生产环节
战术与战略:战略是大局上把握整体sql架构,战术是局部的sql。

战略第一部分:
高效访问数据库的程序的关键目标
    1,查询的识别
          在程序中加入sql语言的识别,
          /*查询今天出差的合同工的人员*/ select **********
          orcale包含的registration faclities实现啦对注释的简化
    2,数据库链接的稳定性
          数据库链接会带来巨大的开销,
                一个1000行的sql语言,发生以下3种操作
               a. 链接一次,一个行操作
               b. 链接一次,所有行操作
               c.链接一次,100行为一个数组进行操作
                操作时间a>>b>>c
         原因:数据库的链接是重复操作,线程,sesssion,跟踪,dbms的检验等。
                      程序与数据库之间的交互
    3,战略优先与战术
          战略决定展示,高屋建瓴。
    4,先定义问题,再解决问题
            所有的技术。方案都是我们为了达到目标的手段,,新技术固然很迷人,
            但是不要把新的技术作为目标,摆弄新工具之前,先学好手艺。
    5,保持数据库模式的稳定
          不要在程序中使用ddl语言,建立,修改,删除数据库对象。
          ddl核心是数据字典,数据字典是所有数据库操作的核心,所以对ddl的操作会引起全局加锁
     6,临时表与永久表,      
        一般使用永久表,临时表的使用减低优化性能。
     7,使用sql处理集合
          sql语言是基于集合(set)处理数据的,如果不是从整个表进行操作,必须对处理的set
        进行粒度的定义,或许是大量数据粗粒度,或许是小量数据细粒度
        将大批的数据处理分割为许多的小的数据处理是个坏注意。
         如:几千个数据,使用游标很慢,换成几个语句,虽然快不了多少,但总是推荐这样做
        8,动作丰富的sql语言
              sql不是过程语言,请区别声明处理与过程处理的区别,所以不要给sql加入过程
              逻辑,如if else等,
              原因:数据库的访问会跨越多个软件层,甚至是网络层。
                        sql中引入过程逻辑,性能与维护问题将由你的程序承担。
        9,每次充分访问数据库
              要从一个数据表中提取多段数据的时候,一次全部读取,而不是分次读取
        10,接近dbms的核心
            代码越是靠近dbms核心,越是执行的快,
                  有些数据库允许自己写c语言等为其编程,这样肯定快
                   多多使用数据库自带的函数
        11,只做必须做的东西
             不要重复的造轮子,请使用现有的sql功能和api。
        12,sql语言反映了业务逻辑
              使用数据库的监控功能,确保当前执行的业务活动合理并且一致。
        13,把逻辑放在查询中
              只要可能就把条件逻辑放在sql语句中,而不是sql的宿主语言。
      14,一次完成多个更新
            如果可以的话,尽量使用一个语句处理多个更新,尽量减少同一个表的重复访问,
      15,慎重使用自定义函数
            优化器对于自定义的函数无能为力
      16,简洁的sql语言。
            sql是声明式语言,所以尽量使用你的额代码超越业务
      17,进攻式编程与异常。
              异常与攻击性编程是个难题。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容

  • 壶里乾坤大,杯中日月长。 喝的,是江湖 醉的,是情谊 笑的,是豪情 谈的,是人生 从没想过,在岁月里渐行渐远 从没...
    阿北偏东阅读 590评论 0 1
  • 从11月13日开始,我展开了对学习技巧的摸索。这也是因为一次偶然。(看同样一本书,郑先生看的比我快,而且还记得比我...
    猫暧阅读 327评论 0 2
  • 1.常用属性 默认提示:android:hint="默认提示文本" andro...
    jadefly阅读 354评论 0 1