<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2010年1月5日

    c++ difference from java
    1. take charge of object management , negotiate ownershiop ,use scoped_ptr,
       not to transfer other's ownership
    2. use c++ template to express seperation corncern ,such as (static)polymorphy and policy
    3. disable copy constructor and assign operator by yourself
    4. polymorphy by pointer
    5. 使用 template ,macro 取得類似動(dòng)態(tài)語(yǔ)言的能力
    6. 偏好無(wú)狀態(tài)的 函數(shù)
    posted @ 2010-02-03 11:43 西津渡 閱讀(260) | 評(píng)論 (0)編輯 收藏
     
        只有注冊(cè)用戶登錄后才能閱讀該文。閱讀全文
    posted @ 2010-01-15 12:22 西津渡 閱讀(100) | 評(píng)論 (0)編輯 收藏
     

    Myisam is preferred without transaction and little update(delete)

    Big than 4G datafile can user Myisam merge table.

    InnoDB with auto_increment primary key is preferred.

    Few storage process

    Guess: 20m records max per table , 500G data max per tablespace , 256 tables per database (may problem)

    Use prepared statement and  batch

    Optimize Your Queries For the Query Cache

    // query cache does NOT work
    $r = mysql_query("SELECT username FROM user WHERE signup_date >= CURDATE()");
     
    // query cache works!
    $today = date("Y-m-d");
    $r = mysql_query("SELECT username FROM user WHERE signup_date >= '$today'");

    EXPLAIN Your SELECT Queries

    LIMIT 1 When Getting a Unique Row

    Index and Use Same Column Types for Joins

    Do Not ORDER BY RAND()

    Avoid SELECT *

    t is a good habit to always specify which columns you need when you are doing your SELECT’s.

    Use ENUM over VARCHAR

    Use NOT NULL If You Can

    Store IP Addresses as UNSIGNED INT (?)

    Fixed-length (Static) Tables are Faster

    Vertical Partitioning

    Vertical Partitioning is the act of splitting your table structure in a vertical manner for optimization reasons.

    Example 1: You might have a users table that contains home addresses, that do not get read often. You can choose to split your table and store the address info on a separate table. This way your main users table will shrink in size. As you know, smaller tables perform faster.

    Example 2: You have a “last_login” field in your table. It updates every time a user logs in to the website. But every update on a table causes the query cache for that table to be flushed. You can put that field into another table to keep updates to your users table to a minimum.

    But you also need to make sure you don’t constantly need to join these 2 tables after the partitioning or you might actually suffer performance decline.

    Split the Big DELETE or INSERT Queries

    If you have some kind of maintenance script that needs to delete large numbers of rows, just use the LIMIT clause to do it in smaller batches to avoid this congestion.

    Smaller Columns Are Faster

    Use an Object Relational Mapper

    f you do not need the time component, use DATE instead of DATETIME.

    Consider horizontally spitting many-columned tables if they contain a lot of NULLs or rarely used columns.

    Be an SQL programmer who thinks in sets, not procedural programming paradigms

    InnoDB can’t optimize SELECT COUNT(*) queries. Use counter tables! That’s how to scale InnoDB.

    Prefer MM with hive

    refer :

    http://blog.tuvinh.com/top-20-mysql-best-practices/

    posted @ 2010-01-05 13:38 西津渡 閱讀(388) | 評(píng)論 (0)編輯 收藏
     
    主站蜘蛛池模板: 99视频免费播放| 日韩毛片一区视频免费| 三级毛片在线免费观看| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 久久精品成人免费观看| 免费一区二区视频| 亚洲精品无码aⅴ中文字幕蜜桃| 国产成人1024精品免费| 免费无码又爽又刺激毛片| 亚洲AV无码一区二区乱孑伦AS| 亚洲最大的成人网| 91香蕉成人免费网站| 亚洲免费观看视频| 国产精品免费大片一区二区| 久久www免费人成精品香蕉 | 中文字幕免费播放| 久久久久国产成人精品亚洲午夜| 一级毛片视频免费观看 | 亚洲色四在线视频观看| 91av免费观看| 中国china体内裑精亚洲日本| 日韩中文字幕免费| 国产精品午夜免费观看网站| 亚洲国产精品久久久久婷婷老年| 亚洲一区免费在线观看| 亚洲国产成人精品无码区二本| 四虎亚洲国产成人久久精品| 国产免费阿v精品视频网址| 97久久精品亚洲中文字幕无码| 成人爽A毛片免费看| 国产成人无码免费网站| 精品亚洲成a人片在线观看 | 亚洲精品无码永久中文字幕| 最近2019年免费中文字幕高清| 一本色道久久88亚洲精品综合| 亚洲一级特黄大片在线观看| 精品熟女少妇a∨免费久久| 精品久久久久久久久亚洲偷窥女厕| 中文字幕亚洲专区| 成人免费一级毛片在线播放视频| 夜夜爽妓女8888视频免费观看|