欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫表的合并與分區(qū)實(shí)現(xiàn)介紹

 更新時間:2022年09月26日 14:22:18   作者:PHP經(jīng)驗(yàn)分享  
今天我們來聊聊處理大數(shù)據(jù)時Mysql的存儲優(yōu)化。當(dāng)數(shù)據(jù)達(dá)到一定量時,一般的存儲方式就無法解決高并發(fā)問題了。最直接的MySQL優(yōu)化就是分區(qū)分表,以下是我個人對分區(qū)分表的筆記

創(chuàng)建數(shù)據(jù)表

創(chuàng)建數(shù)據(jù)表的,使用字符串應(yīng)該遵循的原則

  • 從速度方面考慮,要選擇固定的列,可以使用CHAR類型
  • 要節(jié)省空間,使用動態(tài)的列,可以使用VARCHAR類型
  • 要將列中的內(nèi)容限制為一種選擇,可以使用ENUM類型
  • 允許在一列中有多個條目,可以使用SET類型
  • 如果要搜索的內(nèi)容不區(qū)分大小寫,可以使用TEXT類型
  • 如果要搜索的內(nèi)容區(qū)分大小寫,可以使用BLOB類型

創(chuàng)建數(shù)據(jù)表其實(shí)就是在已經(jīng)創(chuàng)建好的數(shù)據(jù)庫中建立新表。

數(shù)據(jù)表屬于數(shù)據(jù)庫,在創(chuàng)建數(shù)據(jù)表之前,應(yīng)該使用語句

"use <數(shù)據(jù)庫名>" ;      //表明使用哪個數(shù)據(jù)庫。

如果你沒有選擇數(shù)據(jù)庫的話,MySQL會拋出No database selected 的錯誤提示

創(chuàng)建數(shù)據(jù)表的語句為:

create table 數(shù)據(jù)表名稱(

字段名1 數(shù)據(jù)類型 [完整約束條件] [默認(rèn)值],

字段名2 數(shù)據(jù)類型 [完整約束條件] [默認(rèn)值],

字段名3 數(shù)據(jù)類型 [完整約束條件] [默認(rèn)值],

"數(shù)據(jù)表名稱"是創(chuàng)建數(shù)據(jù)表的名字。"字段名"是數(shù)據(jù)表的列名,"完整性約束條件"是字段的特殊約束條件

使用create table 創(chuàng)建表時,必須指定以下信息:

數(shù)據(jù)表名不區(qū)分大小寫,且不能使用SQL中的關(guān)鍵字,如DROP,INSERT等。

如果數(shù)據(jù)表中有多個字段(列),字段(列)的名稱和數(shù)據(jù)類型要用英文逗號隔開。

數(shù)據(jù)庫表合并

合并表:把多個結(jié)果相同的的表合并為一個容器。

容器的類型:Myisam,存儲引擎:merge

存在的問題:有重復(fù)的行

create table packtable(
  id ....
)engine=merge unique=(table1,table2);

數(shù)據(jù)庫表分區(qū)

表的分區(qū):

  • 水平分區(qū):根據(jù)某個字段進(jìn)行分區(qū)(RANGE分區(qū))
create table test1(
id int(10) primary key auto_increment,
 score int(3)
)engine=innodb default charset=utf8 partition by range(score)(
//根據(jù)score字段分區(qū),score小于60的在p1分區(qū)
  partition p1 values less than(60),
//根據(jù)score字段分區(qū),score小于70的在p2 分區(qū)
 partition p2 values less than(70),
 //根據(jù)score字段分區(qū),score大于70的在p3 分區(qū)
  partition p3 values lessthan maxvalue
 );
  • list分區(qū):第一選擇基于某 列的值是否屬于某個 集合
create table test1(
     id int(10) primary key auto_increment,
     branch_id int(3)
)engine=innodb default charset=utf8 partition by list(branch_id  )(
    //根據(jù)branch_id 字段分區(qū),branch_id  在1,2,3之中的為p1分區(qū)
     partition p1 values less in(1,2,3),
    //根據(jù)branch_id 字段分區(qū),branch_id  在7,8,9 之中的為p2分區(qū)
     partition p2 values less in(7,8,9)
);
  • hash分區(qū):支持?jǐn)?shù)值類型
--
-- 根據(jù)birthda字段獲取月份,再根據(jù)月份進(jìn)行分區(qū)儲存,一共分12個區(qū);
--
create table test1(
 id int(10) primary key auto_increment,
 birthday date
)engine=innodb default charset=utf8 partition by hash(month(birthday))  partitions 12;
 
  • 線性分區(qū)(linear hash):大數(shù)據(jù)是增加,合并,拆分速度更快
--
-- 根據(jù)branch_id字段進(jìn)行分區(qū)儲存,一共分5個區(qū);
--
create table test1(
 id int(10) primary key auto_increment,
 branch_id int(3)
)engine=innodb default charset=utf8 partition by linear hash (branch_id  ) partitions 5;
  • key分區(qū):可以計(jì)算一列或者多列進(jìn)行分區(qū)
--
-- 根據(jù)branch_id字段進(jìn)行分區(qū)儲存,一共分5個區(qū);
--
create table test1(
 id int(10) primary key auto_increment,
 branch_id int(3)
)engine=innodb default charset=utf8 partition by key (branch_id  ) partitions 5;

到此這篇關(guān)于MySQL數(shù)據(jù)庫表的合并與分區(qū)實(shí)現(xiàn)介紹的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)庫表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決MySQL Workbench gnome-keyring-daemon錯誤的方法分享

    解決MySQL Workbench gnome-keyring-daemon錯誤的方法分享

    這篇文章主要介紹了解決MySQL Workbench gnome-keyring-daemon錯誤的方法,需要的朋友可以參考下
    2014-08-08
  • Dbeaver連接MySQL數(shù)據(jù)庫及錯誤Connection?refusedconnect處理方法

    Dbeaver連接MySQL數(shù)據(jù)庫及錯誤Connection?refusedconnect處理方法

    這篇文章主要介紹了dbeaver連接MySQL數(shù)據(jù)庫及錯誤Connection?refusedconnect處理方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • mysql regexp匹配多個字符串實(shí)現(xiàn)

    mysql regexp匹配多個字符串實(shí)現(xiàn)

    本文主要介紹了mysql regexp匹配多個字符串實(shí)現(xiàn),可以利用REGEXP正則表達(dá)式匹配多個字符串,從而實(shí)現(xiàn)高效查詢,具有一定的參考價值,感興趣的可以了解一下
    2024-09-09
  • InnoDB引擎中的事務(wù)詳解

    InnoDB引擎中的事務(wù)詳解

    這篇文章主要介紹了InnoDB引擎中的事務(wù)詳解,事務(wù)Transaction是訪問和更新數(shù)據(jù)庫的程序執(zhí)行單元;事務(wù)中可能包含一個或多個sql語句,這些語句要么都執(zhí)行,要么都不執(zhí)行,需要的朋友可以參考下
    2023-09-09
  • mysql 5.5.27 winx64安裝配置方法圖文教程

    mysql 5.5.27 winx64安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql5.5.27 winx64安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • mysql  通配符(sql 高級過濾)

    mysql 通配符(sql 高級過濾)

    這篇文章主要介紹了mysql 通配符,通配符是對操作符的一種補(bǔ)充,操作符都確認(rèn)的,而通配符屬于模糊的
    2021-10-10
  • MySQL 5.7新特性介紹

    MySQL 5.7新特性介紹

    這篇文章主要為大家詳細(xì)介紹了MySQL 5.7新特性,了解一下MySQL 5.7的部分新功能,需要的朋友可以參考下
    2016-06-06
  • mysql 5.7.20解壓版安裝方法步驟詳解(兩種方法)

    mysql 5.7.20解壓版安裝方法步驟詳解(兩種方法)

    本文給大家分享mysql 5.7.20解壓版安裝方法步驟詳解,本文給大家分享兩種方法,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-11-11
  • mysql觸發(fā)器同步表的數(shù)據(jù)方式

    mysql觸發(fā)器同步表的數(shù)據(jù)方式

    這篇文章主要介紹了mysql觸發(fā)器同步表的數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • mysql如何配置白名單訪問

    mysql如何配置白名單訪問

    這篇文章主要介紹了mysql配置白名單訪問的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論