<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)編輯 收藏
     
    主站蜘蛛池模板: 黄色网页在线免费观看| 亚洲无mate20pro麻豆| 成人一级免费视频| 日本人护士免费xxxx视频| 久久亚洲精品国产亚洲老地址| 亚洲无砖砖区免费| 亚洲视频在线观看视频| 无码人妻丰满熟妇区免费 | 无码国产精品一区二区免费式直播 | 亚洲免费视频在线观看| 国产啪精品视频网站免费尤物| 不卡一卡二卡三亚洲| 一级特黄a免费大片| 国产午夜亚洲精品理论片不卡| sss日本免费完整版在线观看| 中文字幕亚洲第一| 四虎影视无码永久免费| 午夜影视日本亚洲欧洲精品一区| 亚洲精品免费在线观看| 亚洲视频手机在线| 女人18毛片a级毛片免费| 亚洲av乱码一区二区三区按摩 | 亚洲精品女同中文字幕| 亚洲AV永久无码精品一区二区国产 | 国产一卡二卡四卡免费| 亚洲最大的成人网站| 免费无遮挡无码永久在线观看视频| 羞羞漫画小舞被黄漫免费| 久久亚洲国产精品123区| 久久免费视频99| 亚洲国产精品综合久久久| 免费高清在线爱做视频| 亚洲阿v天堂在线2017免费| 亚洲人成网站在线播放vr| 在线观看www日本免费网站| 亚洲欧美日韩一区二区三区 | 国产偷国产偷亚洲高清在线| 亚洲日韩激情无码一区| 黄页网站在线观看免费高清| 美女扒开尿口给男人爽免费视频| 亚洲精品无码久久一线|