麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

數(shù)據(jù)庫分表和分庫的原理及基于thinkPHP的實(shí)現(xiàn)方法

2020-03-22 19:59:55
字體:
供稿:網(wǎng)友
  • 為什么要分表,分庫:

    當(dāng)我們的數(shù)據(jù)表數(shù)據(jù)量,訪問量很大,或者是使用頻繁的時(shí)候,一個(gè)數(shù)據(jù)表已經(jīng)不能承受如此大的數(shù)據(jù)訪問和存儲,所以,為了減輕數(shù)據(jù)庫的負(fù)擔(dān),加快數(shù)據(jù)的存儲,就需要將一張表分成多張,及將一類數(shù)據(jù)存入不同的幾張表,當(dāng)分表已經(jīng)不能滿足需求是,我們還可以分庫,及用幾個(gè)數(shù)據(jù)庫存儲。

    分表會(huì)隨著需求和功能的不同有不同的實(shí)現(xiàn)方法,下面是我做項(xiàng)目中的一個(gè)例子:

    需求:product,product_price兩張表是一對多的關(guān)系,及產(chǎn)品和產(chǎn)品每日的價(jià)格,一個(gè)產(chǎn)品對應(yīng)幾種價(jià)格,現(xiàn)在由于產(chǎn)品表數(shù)據(jù)量很大,每天多有上百萬條數(shù)據(jù),就以天為單位對表進(jìn)行分表,以月為單位對數(shù)據(jù)庫進(jìn)行分庫,表的命名為‘product_price2014-07-20’表格式:前面是原數(shù)據(jù)庫表名,后面是日期(年-月-日).

    創(chuàng)建數(shù)據(jù)庫和表的代碼如下:

    function get_product_price_table(){    $db_info=array();           //這個(gè)月    $newmot_time=date("Y-m");    //今天日期    $newday_time=date("Y-m-d");    //本月數(shù)據(jù)庫,今天的表    $db_name = 'acbooking'.$newmot_time;    $table_name = "product_price".$newday_time;        //昨天的日期    $yesday_time = date("Y-m-d",strtotime("-1 day"));        //取出昨天的數(shù)據(jù),獲取 product_price的最后id,作為新表id的起始值    $last_one_product_price = get_info('product_price_table_id',array('time'=>$yesday_time));    if($last_one_product_price['table_id_end']>0){        $table_id = $last_one_product_price['table_id_end']+1;    }else{        $table_id = 1;    }            //創(chuàng)建數(shù)據(jù)庫	
    	$Db_string_line = C('DB_TYPE').'://'.C('DB_USER').':'.C('DB_PWD').'@'.C('DB_HOST').'/'.$new_db_database;	$DB_P=C('DB_PREFIX');	$Model=M($table,$DB_P,$Db_string_line);	$db_name=$Model->execute($sql);//通過sql語句配置創(chuàng)建新數(shù)據(jù)庫新標(biāo),此處省略了sql語句    
        //創(chuàng)建數(shù)據(jù)表
    	$Db_string_line = C('DB_TYPE').'://'.C('DB_USER').':'.C('DB_PWD').'@'.C('DB_HOST').'/'.$new_db_database;	$DB_P=C('DB_PREFIX');	$Model=M($table,$DB_P,$Db_string_line);	$table_name=$Model->execute($sql);

        //返回新 數(shù)據(jù)庫,新的表    $db_info['database']=$db_name;    $db_info['table']=$table_name;    return $db_info;}

    創(chuàng)建出分表后,即可存儲當(dāng)天的所有數(shù)據(jù),每天換一張表,執(zhí)行效率很高。。。。

    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 91网站免费在线观看 | 中文字幕国产亚洲 | 欧美亚洲另类在线 | av免费在线不卡 | 九一免费版在线观看 | 九九黄色| 国产一区二区三区四区五区精品 | 久久靖品| 天堂福利电影 | 久久久久久久久久久综合 | 欧美一级毛片欧美一级成人毛片 | 亚洲精品v天堂中文字幕 | 日韩黄色片在线观看 | 毛片视频播放 | 久草干 | 一级免费特黄视频 | 欧美日韩成人一区二区 | 精品在线视频播放 | 成人在线网站 | 99riav视频一区二区 | 久久露脸国语精品国产91 | 综合99| 成人影片在线免费观看 | 欧洲精品久久久久69精品 | 最新中文在线视频 | 国内xxxx乱子另类 | 一区二区国产在线 | 久久精品无码一区二区三区 | 久久国产一二三 | 毛片免费视频观看 | 欧产日产国产精品乱噜噜 | 欧美18一19sex性护士农村 | 久久国产精品久久久久久久久久 | 黄 色 免费网 站 成 人 | 日韩视频1 | 久久草在线观看视频 | 国产亚洲综合一区二区 | porno video hd 365hd | 视频一区二区三区在线播放 | 亚洲一区二区中文字幕在线观看 | 中文区永久区 |