5 步優化 MongoDB 以及其它數據庫 - 後端 - 掘金
原文連接 Jared Rosoff 在 Scale Out Camp 發表了一篇簡潔、有效、有趣和使人信服的《8 分鐘 MongoDB 教程》描述瞭如何進行 MongoDB 優化。 文中的方法不只限於 MongoDB,還可應用到絕大多數數據庫,好比查詢優化、找...php
MySQL 處理海量數據時的一些優化查詢速度方法 - 後端 - 掘金
在參與實際項目中,當 MySQL 表的數據量達到百萬級時,普通的 SQL 查詢效率呈直線降低,並且若是 where 中的查詢條件較多時,其查詢速度沒法容忍。想一想可知,假如咱們查詢淘寶的一個訂單詳情,若是查詢時間高達幾十秒,這麼高的查詢延時,任何用戶都會抓狂。因...css
Mysql 你必須知道的查詢語句 - 後端 - 掘金
引言 在Mysql數據庫的操做中有核心的兩種語言,一種是DDL(Data Definition Language),翻譯爲數據定義語言,它主要是對數據庫,表的建立,修改和刪除。另一種叫D...前端
InnoDB 存儲引擎 MVCC 實現原理 - 後端 - 掘金
簡單背景介紹 MySQL MySQL是如今最流行的關係型數據庫(RDB)的選擇, 建立一個應用時,不管是用戶數據仍是訂單數據,使用關係型數據庫存儲是最可靠穩定的選擇,藉助RDB提供的可靠性、事務等功能,...java
MySQL 性能測試經驗 - 後端 - 掘金
做者 |何龍編輯 | 顧鄉 1、背景 近期在進行資源調度管理平臺的重構工做,其中的Resource/Property數據庫設計,在沒有更加優化的方案前,打算沿用當前平臺的數據庫結構;這就須要對當前平臺的數據庫結構進行剖析研究,並對其性能進行測試與分析,得出的數...mysql
《SQL 必知必會》學習筆記 - 後端 - 掘金
基本常識 去掉返回結果空格 兩邊都去掉:TRIM 去掉左邊:LTRIM 去掉右邊:RTRIM ...linux
MySQL 排序內部原理探祕 - 後端 - 掘金
1、咱們要解決什麼問題 MySQL排序實際上是一個老生常談的問題了,可是咱們此次想由淺入深詳細說說MySQL排序模式,怎麼影響MySQL選擇不一樣的排序模式和怎麼優化排序。 ...android
MySQL 讀寫分離實戰 - 後端 - 掘金
【分佈式架構初探】 第四節-MySQL讀寫分離實戰 4.1 預備工具以及環境 4.2 虛擬機的準備 4.3 CentOS7的安裝 4.4 MySQL數據庫的安裝 4.5 MySQL主從配置(一主...ios
服務端指南 數據存儲篇 | MySQL(06) 數據庫安全性 - 掘金
數據庫的安全性,即保護數據庫,防止未經受權或不合法的使用而形成的數據泄漏和更改破壞。所以,保護數據庫的安全性的通常方法是設置用戶標識和權限控制。 原文地址:服務端指南 數據存儲篇 | MySQL(06) 數據庫安全性博客地址:http://blog.720ui...c++
MySQL 慢查詢 & 分析 SQL 執行效率淺談 - 後端 - 掘金
如何在MySQL中查找效率慢的SQL語句呢?這多是困擾不少人的一個問題,MySQL經過慢查詢日誌定位那些執行效率較低的SQL 語句,用--log-slow-queries[=file_name]選項啓動時,mysqld 會寫一個包含全部執行時間超過long_...程序員
MySQL/MariaDB 性能調優工具 mytop - 後端 - 掘金
MySQL/MariaDB性能調優工具mytop mytop爲MariaDB自帶工具,但MySQL並無攜帶該工具,須要自行安裝。安裝方式請自行google== ...
MYSQL 數據庫常見的優化操做 - 後端 - 掘金
1、Index索引 將Index放第一位,不用說,這種優化方式咱們一直都在悄悄使用,那即是主鍵索引。有時候咱們可能並不在乎,若是定義適合的索引,數據庫查詢性能(速度)將提升幾倍甚至幾十倍。 普通索引 ...
一步一步打造 MySQL 高可用平臺 - 後端 - 掘金
一 、引子 筆者剛開始進入公司的時候,主要是忙於分佈式MySQL系統----MyShard的構建,公司使用了大量的IDC機房,基於這種網絡特色,MyShard設計當初徹底是爲了是一套支持Multi-Master操做的高可用性的分...
MySQL 鎖總結 - 後端 - 掘金
MySQL 鎖基礎 參考了何登成老師文章的結構MySQL 加鎖處理分析,中間又加了一些本身以爲須要考慮的狀況。 分析本session的加鎖方式 系統的隔離級別是什麼?是RC仍是RR? 判斷SQL的加鎖類型,是共享鎖仍是排他鎖? SQ...
MySQL 佔用空間一鍵查詢實踐 - 後端 - 掘金
做者 | 莫韻編輯 | 京露 莫韻,高級運維工程師。devops/sre觀念的支持者,曾在迅雷擔任運維工程師,精通CDN、大數據、海量運維之道。 目前就任於互聯網企業擔任業務系統運維職位,致力於高效運維實踐。 常常會遇到DB滿的狀況 特別是你們共用...
服務端指南 數據存儲篇 | MySQL(05) 索引的排序優化方案 - 掘金
原文地址:服務端指南 數據存儲篇 | MySQL(05) 索引的排序優化方案博客地址:http://blog.720ui.com/ MySQL能夠利用索引來快速地執行 ORDER BY 和 GROUP BY 語句的排序和分組操做。所以,在數據庫設計時,設計索...
mysql 怎麼經過 frm 和 ibd 文件還原數據 - 後端 - 掘金
一、找回表結構,若是表結構沒有丟失直接到下一步 a、先建立一個數據庫,這個數據庫必須是沒有表和任何操做的。 b、建立一個表結構,和要恢復的表名是同樣的。表裏的字段無所謂。必定要是i...
理解事務 - MySQL 事務處理機制 - 後端 - 掘金
事務 數據庫事務 數據庫事務(Database Transaction),是指做爲單個邏輯工做單元執行的一系列操做,要麼徹底執行,要麼徹底地不執行。 ACID ...
服務端指南 數據存儲篇 | MySQL(04) 索引使用的注意事項 | 掘金技術徵文 - 掘金
MySQL 索引一般是被用於提升 WHERE 條件的數據行匹配時的搜索速度,在索引的使用過程當中,存在一些使用細節和注意事項。 原文地址:服務端指南 數據存儲篇 | MySQL(04)索引使用的注意事項博客地址:http://blog.720ui.com/ ...
MySQL 前綴索引——讓索引減負狂奔 - 掘金
什麼是前綴索引 咱們吃甘蔗的時候,若出現蟲蛀狀況,咱們不能判斷蟲蛀的範圍有大,若是爲了省事,直接砍去若干節,蟲蛀殘留的機率就會小不少,可是極可能損失更多的可食用甘蔗。若是一點點地削,直至蟲蛀再也不出現爲止,看起來多花了點功夫,可是浪費的少,也只值得。 相...
淺析 MySQL Replication - 後端 - 掘金
目前不少公司中的生產環境中都使用了MySQL Replication ,也叫 MySQL 複製,搭建配置方便等不少特性讓 MySQL Replication 的應用很普遍,咱們曾經使用過一主拖20多個從庫來分擔業務壓力。關於 MySQL Replication...
MySQL 的七種 join - 後端 - 掘金
對於SQL的Join,在學習起來多是比較亂的。咱們知道,SQL的Join語法有不少inner的,有outer的,有left的,有時候,對於Select出來的結果集是什麼樣子有點不是很清楚。Coding Horror上有一篇文章(實在不清楚爲何Coding ...
概述 咱們在考慮MySQL數據庫的高可用的架構時,主要要考慮以下幾方面: 若是數據庫發生了宕機或者意外中斷等故障,能儘快恢復數據庫的可用性,儘量的減小停機時間,保證業務不會由於數據庫的故障而中斷。 用做備份、只讀副本等功能的非主節點的...
MySQL,從入門到熟練 - 後端 - 掘金
在《寫給新人的數據庫指南》,咱們已經成功的安裝數據庫,而且導入數據,今天進入MySQL的實戰練習。SQL是數據庫的查詢語言,語法結構簡單,相信本文會讓你從入門到熟練。 掌握SQL後,不論你是產品經理、運營人員或者數據分析師,都會讓你分析的能力邊界無限拓展。別猶...
MySQL 的架構演化 - 後端 - 掘金
3.1 來自海豚的告白3.2 單節點數據庫3.3 一主一從架構3.4 Master/Slave 複製原理及方式3.5 一主多從架構3.6 雙主多從架構3.7 Mysql Sharding3.8 小張講解3.9 課後做業 ...
MySQL 經常使用數據存儲引擎區別 - 後端 - 掘金
mysql有多種存儲引擎,目前經常使用的是 MyISAM 和 InnoDB 這兩個引擎,除了這兩個引擎覺得還有許多其餘引擎,有官方的,也有一些公司本身研發的。這篇文章主要簡單概述一下經常使用常見的 MySQL 引擎,一則這是面試中常被問到的問題,二則這也是數據庫設計中...
MySQL 數據庫複製概論 - 後端 - 掘金
每當咱們討論一項(新的)領域技術的時候,最好的方式一般是首先拋出一些問題,這些問題大體分爲三類:誒?這項技術又是什麼玩意(What)?這項技術爲何會存在?咱們已經有那麼多解決方案(Method)了,咱們問什麼要用它(Why)?若是這項技術那麼好且咱們正好有場...
關於 MySQL 你可能不知道的 SQL 使用技巧 - 後端 - 掘金
近來處理了比較多的數據庫維護工做,對 SQL 的語法也算有了更深層次的認識,也學到了不少之前沒有用過的 SQL 語法技巧,這裏統一整理一下,但願對讀者也有所啓發。 本文將主要介紹一些我認爲有用的 SQL 語法和技巧,並經過適當案例說明,但案例自己作了簡化處理,...
MYSQL 數據庫常見的優化操做 - 後端 - 掘金
1、Index索引 將Index放第一位,不用說,這種優化方式咱們一直都在悄悄使用,那即是主鍵索引。有時候咱們可能並不在乎,若是定義適合的索引,數據庫查詢性能(速度)將提升幾倍甚至幾十倍。 普通索引 ...
服務端指南 數據存儲篇 | MySQL(05) 索引的排序優化方案 - 掘金
原文地址:服務端指南 數據存儲篇 | MySQL(05) 索引的排序優化方案博客地址:http://blog.720ui.com/ MySQL能夠利用索引來快速地執行 ORDER BY 和 GROUP BY 語句的排序和分組操做。所以,在數據庫設計時,設計索...
服務端指南 數據存儲篇 | MySQL(04) 索引使用的注意事項 | 掘金技術徵文 - 掘金
MySQL 索引一般是被用於提升 WHERE 條件的數據行匹配時的搜索速度,在索引的使用過程當中,存在一些使用細節和注意事項。 原文地址:服務端指南 數據存儲篇 | MySQL(04)索引使用的注意事項博客地址:http://blog.720ui.com/ ...
MySQL 經常使用數據存儲引擎區別 - 掘金
MySQL 有多種存儲引擎,目前經常使用的是 MyISAM 和 InnoDB 這兩個引擎,除了這兩個引擎覺得還有許多其餘引擎,有官方的,也有一些公司本身研發的。這篇文章主要簡單概述一下經常使用常見的 MySQL 引擎,一則這是面試中常被問到的問題,二則這也是數據庫設計...
讓寫入數據庫的數據自動寫入緩存 - 後端 - 掘金
在項目開發中,爲了減輕數據庫的 I/O 壓力,加快請求的響應速度,緩存是經常使用到的技術。Redis 和 Memcache 是如今經常使用的兩個用來作數據緩存的技術。數據緩存一些常見的作法是,讓數據寫入到數據庫之後經過一些自動化的腳本自動同步到緩存,或者在向數據庫寫數...
mysql 統計一個列中不一樣值的數量 - 後端 - 掘金
MySQL 統計一個列中不一樣值的數量 需求場景 這個需求其實十分廣泛,舉例來講,咱們存在一個用戶來源表,用來標記用戶從哪一個渠...
(10)mysql 中的變量 - 掘金
定義變量 語法以下 declare var_name[,...] type [default value];MYSQL 變量定義只能在存儲過程或函數裏面定義,不像 Oracle / SQL Server。該變量的做用範圍只能在begin...end塊中。變量定...
Mysql 學習筆記 - 基礎概念 - Android - 掘金
基本概念 關係型數據庫 定義:關係型數據庫是一種創建在關係模型上的數據庫 關係模型(背): 數據結構:數據的存儲問題(二維表) 操做指令集:SQL語句 ...
Mysql 學習筆記 - 數據類型 - Android - 掘金
分類 數值型 ###整數型 類型 大小 範圍(有符號) 範圍(無符號) 用途 ...
MySQL入門教程系列-1.2 數據庫技術構成 - 掘金
數據庫技術構成 共同編輯,修正錯誤,這裏點擊進去 數據庫技術的出現是爲了更加有效的管理和存取大量的數據資源。簡單的來說,數據庫技術主要包括數據庫系統,SQL語言,數據庫訪問技術。 數據庫系統 數據庫系統有3個主要的組成部分。 數據庫 數據庫(Datab...
【從零開始學習 MySql 數據庫】(5) 約束視圖與索引 - 掘金
-- 主鍵約束:PRIMARY KEY=不重複+不爲NULL; -- (列級約束條件) CREATE TABLE dept_dylan ( dept_id INT (2) PRIMARY KEY, dept_name VARCHAR (20)...
【從零開始學習MySql數據庫】(4)建立表與增刪改和數據庫事務 - 掘金
-- 數據準備:建立工資等級表 CREATE TABLE salgrade_test ( grade INT (2), lowsal FLOAT (7, 2), hisal FLOAT (7, 2) ); -- 查看工資等級表結構 DESC salgrade_...
【從零開始學習 MySql 數據庫】(3) 函數與子查詢和鏈接查詢 - 掘金
【從零開始學習 MySql 數據庫】(1) 建表與簡單查詢 - 掘金
關於 mysql 中的 select * from table_a,table_b 的問題 - 掘金
/ <![CDATA[ / @import url("http://sunms.codefly.top/wp-content/plugins/wp-table-reloaded/css/plugin.css?ver=1.9.4"); @import url...
圖解 SQL 的 JOIN - 後端 - 掘金
對於SQL的Join,在學習起來多是比較亂的。咱們知道,SQL的Join語法有不少inner的,有outer的,有left的,有時候,對於Select出來的結果集是什麼樣子有點不是很清楚。Coding Horror上有一篇文章(實在不清楚爲何Coding ...
能不加字段就不要加, 能不修改字段就不要修改, 能不刪除字段就不要刪除, 等等爲何要刪除字段呢? 若是沒事,不要蛋疼的找事。 實際上,咱們那次更新失敗後, 咱們並無增長那個字段, 而後咱們一直運行到今天, 可是後來仍是增長了其餘字段2. 增長字段的情...
MySQL 大表優化方案 - 後端 - 掘金
當MySQL單表記錄數過大時,增刪改查性能都會急劇降低,能夠參考如下步驟來優化: 單表優化 除非單表數據將來會一直不斷上漲,不然不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各...
【譯】2017 年你應該學習的編程語言、框架和工具 - 前端 - 掘金
在過去的一年裏,軟件開發行業繼續大踏步地向前邁進。回顧 2016 年,咱們看到了更多新興的流行語言、框架和工具,它們改變着咱們的工做方式,讓咱們看到更多的可能。但在這個行業,緊隨潮流是很難的。因此在每一年年末,咱們都會給你提供一些建議,它涉及什麼是最重要的,以及...
20 分鐘 MySQL 基礎入門 - 工具資源 - 掘金
這裏持續更新修正 開始使用 MySQL 爲關係型數據庫(Relational Database Management System),一個關係型數據庫由一個或數個表格組成, 如圖所示的一個表格: 表頭(header): 每一列的名稱; 列(row): 具備...
mysql count 多個表數據 - 後端 - 掘金
mysql count多個表的數據 需求描述 這兩天在作成就係統,成就中有不少維度都和數量有關,好比用戶粉絲數達到多少50個,授予 名揚四海 稱號,用戶點贊達到 100 次,授予 點贊聖手 稱號等等。 粉絲數在 user_relation 表 點贊數...
MySQL 實戰 - 關於索引的主要事項 - 後端 - 掘金
關於索引的主要事項 不要在列上進行運算不要在列上進行運算,這將致使索引失效而進行全表掃描。例如 select from user where YEAR(birthday)<1990 能夠改形成 select from users whe...
InnoDB 的鎖機制 - 後端 - 掘金
寫在前面使用數據庫時,想要較高的吞吐、較低的延遲,但又想在高併發下能夠一致地讀寫數據,所以須要高效的鎖機制。 InnoDB中的鎖能夠分爲: latch:程序上的鎖機制,用來鎖定內部對象,沒有死鎖檢測; lock:用來鎖定數據庫中的對象,好比表、頁、行,有死鎖...
用 ElasticSearch 監控 MySQL - 後端 - 掘金
版權申明:此文章首發於公衆號程序員在深圳,搜索 studycode 便可關注本文無需受權便可轉載,轉載時請務必註明做者 本文是一個使用ELK來監控mysql的介紹,基本監控了一些關鍵指標,固然根據業務的不一樣,可能有不一樣的指標需求,但使用該方法監控,原理不會變化...
MySQL 數據庫設計總結 - 後端 - 掘金
規則1:通常狀況能夠選擇MyISAM存儲引擎,若是須要事務支持必須使用InnoDB存儲引擎。 注意:MyISAM存儲引擎 B-tree索引有一個很大的限制:參與一個索引的全部字段的長度之和不能超過1000字節。另外MyISAM數據和索引是分開,而InnoDB的...
MySQL 字符集中文亂碼剖析 - 後端 - 掘金
問題描述假設有三個表test_gbk,test_utf8,test_latin1,建立的時候字符集分別爲gbk,utf8,latin1。表結構爲 Field Type Null Key Default Extra name varchar(512...
Mysql經常使用SQL語句集錦 | 掘金技術徵文 - 掘金
基礎篇 //查詢時間,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day from table_name";//int 時間戳類型 $sql = "select from_unixt...
【從零開始學習 MySql 數據庫】(1) 建表與簡單查詢 - 掘金
【從零開始學習 MySql 數據庫】(3) 函數與子查詢和鏈接查詢 - 掘金
【從零開始學習MySql數據庫】(4)建立表與增刪改和數據庫事務 - 掘金
-- 數據準備:建立工資等級表 CREATE TABLE salgrade_test ( grade INT (2), lowsal FLOAT (7, 2), hisal FLOAT (7, 2) ); -- 查看工資等級表結構 DESC salgrade_...
【從零開始學習 MySql 數據庫】(5) 約束視圖與索引 - 掘金
-- 主鍵約束:PRIMARY KEY=不重複+不爲NULL; -- (列級約束條件) CREATE TABLE dept_dylan ( dept_id INT (2) PRIMARY KEY, dept_name VARCHAR (20)...
MySQL入門教程系列-1.5 如何學習MySQL - 掘金
在這裏持續更新 MySQL入門教程系列-1.5 如何學習MySQL 如何學習 MySQL 這是一個僞命題,每一個人都有適合本身的一套學習方法,各不相同,因此如何學習 MySQL 這個活兒,我沒有辦法告訴你個人這個學習方法就是你作好的學習方法,因此在學習 MyS...
MySQL入門教程系列-1.4 MySQL工具 - 掘金
MySQL工具 共同編輯,修正錯誤,這裏點擊進去 在這裏持續更新 因爲 MySQL 軟件是基於 C/S 模式的數據庫管理系統(一個客戶機—服務器DBMS),所以在平常各類工做中,能夠經過各類客戶端軟件來與 MySQL 數據庫管理系統關聯。MySQL,需...
MySQL 入門教程【一件偉大的事情正在發生中】 - 閱讀 - 掘金
MySQL入門教程 從零開始學習MySQL,主要是面向MySQL數據庫管理系統初學者。身爲前端開發工程師爲何寫這個破玩意兒呢,最近項目強迫我這個前端老司機使用MySQL,雖然我在項目中已經使用過一段時間,爲了寫出高質量的SQL語句,系統的過一遍基礎,你也...
mysql 死鎖問題分析 - 後端 - 掘金
線上某服務時不時報出以下異常(大約一天二十屢次):「Deadlock found when trying to get lock;」。 Oh, My God! 是死鎖問題。儘管報錯很少,對性能目前看來也無太大影響,但仍是須要解決,保不齊哪天成爲性能...
從 MySQL 到 Kafka,如何管理天天實時發佈的幾十億條消息? - 後端 - 掘金
當你的系統天天要實時從MySQL到Kafka發佈幾十億條消息時,你會怎麼管理這些數據的模式信息呢?當你的系統要接入幾百個服務時,你就要處理幾千種不一樣的模式,手工管理是不可行的。必須有自動化的方案來處理從上游數據源到全部下游消費者的模式改變問題。Confluen...
MySQL 事務學習總結 - 後端 - 掘金
關於事務,常看到的概念就是ACID,從單機發展到分佈式後,又出現了CAP原理和BASE思想。這裏將我最近學習的單機事務作個總結,方便溫故知新,後面全部的內容都是基於MySQL/InnoDB的。 隔離級別 髒讀 不可重複讀 幻象讀 第一類更新丟失 第二類更...
Amazon 和 Mysql 之間的那點事兒 - 後端 - 掘金
公司項目初始,就使用了亞馬遜的各項雲服務,亞馬遜的各項服務真的很是棒,大大簡化了公司產品的擴容和運維工做。 以前公司使用亞馬遜的 EC2 實例,一切都很是好。隨着業務的擴展,客戶須要 mysql 關係型數據庫,爲了使用方便,咱們選了亞馬遜提供的 RDS 服務,...
20 分鐘 MySQL 基礎入門 - 工具資源 - 掘金
這裏持續更新修正 開始使用 MySQL 爲關係型數據庫(Relational Database Management System),一個關係型數據庫由一個或數個表格組成, 如圖所示的一個表格: 表頭(header): 每一列的名稱; 列(row): 具備...
MySQL 大表優化方案 - 閱讀 - 掘金
當MySQL單表記錄數過大時,增刪改查性能都會急劇降低,能夠參考如下步驟來優化: 單表優化 除非單表數據將來會一直不斷上漲,不然不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各類複雜度,通常以整型值爲主的表在千萬級如下,字符串爲主的表在五百萬如下是沒有太大...
【從零開始學習 MySql 數據庫】(5) 約束視圖與索引 - 掘金
-- 主鍵約束:PRIMARY KEY=不重複+不爲NULL; -- (列級約束條件) CREATE TABLE dept_dylan ( dept_id INT (2) PRIMARY KEY, dept_name VARCHAR (20)...
【從零開始學習MySql數據庫】(4)建立表與增刪改和數據庫事務 - 掘金
-- 數據準備:建立工資等級表 CREATE TABLE salgrade_test ( grade INT (2), lowsal FLOAT (7, 2), hisal FLOAT (7, 2) ); -- 查看工資等級表結構 DESC salgrade_...
【從零開始學習 MySql 數據庫】(3) 函數與子查詢和鏈接查詢 - 掘金
【從零開始學習 MySql 數據庫】(1) 建表與簡單查詢 - 掘金
(18)mysql 中的分區(開發篇完) - 掘金
概述 以前,看到分區,我捏個去,好高大上喲。昨天終於知道了分區是個啥玩意,也不過如此,今天總結一下,好記性不如爛筆頭嘛。 MySQL從5.1開始支持分區功能。分區一句話就是:把一張表按照某種規則(range/list/hash/key等)分紅多個區域(頁...
(17)sql注入與sql mode - 掘金
概述 sql注入就是利用某些數據庫的外接接口將用戶數據插入到實際的數據庫操做語言當中,從而達到入侵數據庫乃至操做系統的目的。在安全領域,咱們永遠不要信任用戶的輸入,咱們必須認定用戶輸入的數據都是不安全的,咱們都須要對用戶輸入的數據進行過濾處理。沒有(運行時...
(16)mysql 中的表鎖定及事務控制 - 掘金
概述 MySQL支持三種鎖級別:頁級、表級、行級。MyISAM和MEMORY存儲引擎採用的是表級鎖(table-level locking);BDB存儲引擎採用的是頁面鎖(page-level locking),但也支持表級鎖;InnoDB存儲引擎既支持行級鎖...
(15)mysql 中的觸發器 - 掘金
概述 觸發器,顧名思義就是當某個事情(事件)發生時候,執行某一段程序。觸發器有四大要素:監視地點(table_name)、監視事件(insert/update/delete)、觸發時間(before/after)、觸發執行程序(insert/update/de...
(14)mysql 中的事件 - 掘金
概述 事件調度器是MySQL5.1後新增的功能,能夠將數據庫按自定義的時間週期觸發某種操做,能夠理解爲時間觸發器,相似於linux系統下面的任務調度器crontab,或者相似與window下面的計劃任務。值得一提的是MySQL的事件調度器能夠精確到每秒鐘執行一...
(13)mysql 中的流程控制 - 掘金
概述 在mysql中可使用if/case/loop/leave/iterate/repeat/while語句進行流程控制。 if語句 if語句實現條件判斷,相似高級語言(c/c++/php/java等)中的if語句。 if search_condition ...
(12)mysql 中的光標 - 掘金
概述 查詢語句可能查詢出多條記錄,在存儲過程和函數中使用光標來逐條讀取查詢結果集中的記錄。有些書上將光標稱爲遊標。光標的使用包括聲明光標、打開光標、使用光標和關閉光標。光標必須聲明在處理程序以前,而且聲明在變量和條件以後。光標能夠類比爲數組內部中的循環指針。 ...
(11)mysql 中的條件定義、處理 - 掘金
概述 在MySQL中,特定異常須要特定處理。這些異常能夠聯繫到錯誤,以及子程序中的通常流程控制。定義異常是事先定義程序執行過程當中遇到的問題,異常處理定義了在遇到問題時對應當採起的處理方式,而且保證存儲過程或者函數在遇到錯誤時或者警告時可以繼續執行。這樣能夠加強...
(10)mysql 中的變量 - 掘金
定義變量 語法以下 declare var_name[,...] type [default value];MYSQL 變量定義只能在存儲過程或函數裏面定義,不像 Oracle / SQL Server。該變量的做用範圍只能在begin...end塊中。變量定...
(9)mysql 中的存儲過程和自定義函數 - 掘金
概述 存儲過程和自定義函數是事先通過編譯並存儲在數據庫中的一段SQL語句的集合。相對普通查詢優勢: 能夠簡化應用開發人員的工做,可重用。 減小數據庫與應用服務器之間的數據傳輸。 提升了數據處理的效率。 安全性提升。因爲存儲過程也可使用權限控制,並且參數化的...
(8)mysql 中的視圖 - 掘金
概念 視圖是一種虛擬存在的表,對於使用視圖的用戶來講,基本上跟使用正常的表同樣。視圖在數據庫中是不存在的,視圖中的數據是動態生成的。 視圖相對於普通表的優點: 簡單:使用視圖不須要關心後面的表的對應結構條件,對於使用者來講,視圖是過濾好的結果集。 安全...
(7)mysql 索引的設計和使用 - 掘金
概述 索引用於快速找出在某個列中有一特定值的行。不使用索引,MySQL必須從第1條記錄開始而後讀完整個表直到找出相關的行。表越大,花費的時間越多。若是表中查詢的列有一個索引,MySQL能快速到達一個位置去搜尋到數據文件的中間,沒有必要看全部數據。 在My...
(6)mysql 中的字符集 - 掘金
概述 從本質上來說,計算機只識別二進制代碼,所以,不論計算機程序仍是其處理的數據,最終都必須轉化爲二進制碼,計算機才能識別。人們給每個文字符號編碼以便計算機識別處理,這就是計算機字符集的由來。 選擇合適的字符集 MySQL5.6支持幾十種字符集,包括UC...
(5)mysql 經常使用存儲引擎 - 掘金
概述 mysql5.5以前默認存儲引擎是MyISAM,5.5以後改成InnoDB。若要修改默認引擎,能夠修改配置文件中的default-storage-engine。能夠經過show engines來查看當前數據庫支持的引擎。使用select engine...
(4)mysql 中的經常使用函數 - 掘金
概述 mysql提供了不少內建函數,其中經常使用的函數有: 字符串函數 日期函數 數值函數 我通常建議,能在後臺語言(php,java,c#等)中使用的相似函數,就在後臺語言中使用,這樣減小mysql壓力,和保證邏輯性。 字符串函數 函數 功能 ...
(3)mysql 中的運算符 - 掘金
概述 MySQL支持多種類型的運算符,這些運算符能夠用來連接表達式,這些運算符包括: 算數運算符(+,-,*,/,%); 比較運算符(=,!=,<,<=,>,>=,between,in,is null,is not null,like...
(2)mysql 支持的數據類型總結 - 掘金
概述 mysql支持的數據分爲3部分: 數值類型 日期時間類型 字符串類型 先扔一張大圖作總結:mysql支持數據類型總結 數值類型 MySQL支持全部標準的SQL中的數值類型 1.整型數值 整數類型 字節數 最小值 ~ 最大值 tinyin...
(1)SQL 基本查詢 - 掘金
該篇文章主要是對mysql的查漏補缺,該篇包括: 排序和限制 聚合 表聯結 子查詢與聯合 排序和限制 使用關鍵字 order by和limit; //排序 select * from tablename [where condition] [ord...
非官方的 MySQL 8.0 優化指南 - 後端 - 掘金
非官方的 MySQL 8.0 優化指南...
使用mysql日期與時間函數輕易搞定日期與時間邏輯 - 掘金
mysql查詢當天的數據: select* from procurement where date(createDate)=curdate() order by refreshDatetime desc ;mysql查詢過去幾天的數據: ...
微博的 MySQL 數據庫優化實踐經驗 - 後端 - 掘金
【編者的話】數據庫是全部架構中不可缺乏的一環,一旦數據庫出現性能問題,那對整個系統都會來帶災難性的後果。而且數據庫一旦出現問題,因爲數據庫天生有狀態(分主從)帶數據(通常還不小),因此出問題以後的恢復時間通常不太可控,因此,對數據庫的優化是須要咱們花費不少精力...
MySQL 讀寫分離介紹及搭建 - 後端 - 掘金
MySQL讀寫分離基本原理是讓master數據庫處理寫操做,slave數據庫處理讀操做。master將寫操做的變動同步到各個slave節點。MySQL讀寫分離能提升系統性能的緣由在於:物理服務器增長,機器處理能力提高。拿硬件換性能。主從只負責各自的讀和寫,極大...
MySQL5.7 中新增的 JSON 類型的使用方法 - 後端 - 掘金
建立表json_test:CREATE TABLE json_test(id INT(11) AUTO_INCREMENT PRIMARY KEY,person_desc JSON)ENGINE INNODB;插入一條記錄:INSERT INTO json_t...
mysql 悲觀鎖詳解 - 後端 - 掘金
悲觀鎖指的是對數據被外界(包括本系統當前的其餘事務,以及來自外部系統的事務處理)修改持保守態度,所以,在整個數據處理過程當中,將數據處於鎖定狀態。悲觀鎖的實現,每每依靠數據庫提供的鎖機制(也只有數據庫層提供的鎖機制才能真正保證數據訪問的排他性,不然,即便在本系統...
mysql 樂觀鎖詳解 - 後端 - 掘金
樂觀鎖:樂觀鎖( Optimistic Locking ) 相對悲觀鎖而言,樂觀鎖機制採起了更加寬鬆的加鎖機制。悲觀鎖大多數狀況下依靠數據庫的鎖機制實現,以保證操做最大程度的獨佔性。但隨之而來的就是數據庫性能的大量開銷,特別是對長事務而言,這樣的開銷每每沒法承...
讓 MySQL 支持 emoji 圖標存儲 - 後端 - 掘金
在MySLQ中 UPDATA 和 INSERT 數據的時候,若是數據上面帶有emoji圖標,例如:?、?、?很容易更新活着插入不成功,致使報錯。 Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect...
mysql 查詢兩個日期之間的最大連續天數 - 後端 - 掘金
利用 sql 語句查詢兩個日期之間,用戶連續不間斷的登陸次數 需求描述 今天新來的需求,一個成就係統,其中有一個成就就是根據用戶連續記錄天數來計算的,求出用戶在一段時間內最大的連續記錄時間,例如在 2016-01-01 和 2016-01-28 之間,...
mysql count 多個表數據 - 後端 - 掘金
mysql count多個表的數據 需求描述 這兩天在作成就係統,成就中有不少維度都和數量有關,好比用戶粉絲數達到多少50個,授予 名揚四海 稱號,用戶點贊達到 100 次,授予 點贊聖手 稱號等等。 粉絲數在 user_relation 表 點贊數...
表情在 MySQL 的存儲詳解 - 後端 - 掘金
MySQL支持android和ios表情,須要作一些特別處理。 普通的字符串或者表情都是佔位3個字節,因此utf8足夠了,可是移動端的表情符號佔位是4個字節,普通的utf8就不夠用了。 utf8mb4方案數據庫採用utf8mb4字符集。 首先,修改數據庫的字...
Mysql 使用命令及 sql 語句示例 - 後端 - 掘金
--致謝河南理工大學的學長 前言 Mysql 是數據庫開發使用的主要平臺之一。sql 的學習掌握與使用是數據庫開發的基礎,此處展現詳細sql 語句的寫法,及各類功能下的 sql 語句。 在此處有 sql 語句使用示例:在這裏 此處插入兩張...
MySQL 實戰 - 關於索引的主要事項 - 後端 - 掘金
關於索引的主要事項 不要在列上進行運算不要在列上進行運算,這將致使索引失效而進行全表掃描。例如 select from user where YEAR(birthday)<1990 能夠改形成 select from users whe...
MySQL · 8.0.0 新特性 · 持久化自增列值 - 後端 - 掘金
摘要: Worklog: WL#6204 這是MySQL8.0修復的上古bug之一,在2003年由Percona的CEO(當時應該還沒Percona吧)提出的bug#199,光看這bug號就撲面而來一股上古時代的滄桑氣息。 問題的本質在於Inno...
mysql 死鎖問題分析 - 後端 - 掘金
線上某服務時不時報出以下異常(大約一天二十屢次):「Deadlock found when trying to get lock;」。 Oh, My God! 是死鎖問題。儘管報錯很少,對性能目前看來也無太大影響,但仍是須要解決,保不齊哪天成爲性能...
SQL 簡明教程 - 後端 - 掘金
數據類型 數據庫的數據類型有不少,各個數據庫的實現也有所不一樣,這裏只列出經常使用的幾個類型,並作詳細說明(以MySQL數據庫爲例)。 char(n):char是定長的,也就是當你輸入的字符小於你指定的數目時,char(8),你輸入的字符小於8時,它會再後...
MySQL 中的讀鎖和寫鎖 - 後端 - 掘金
在數據庫的鎖機制中介紹過,數據的鎖主要用來保證數據的一致性的,數據庫的鎖從鎖定的粒度上能夠分爲表級鎖、行級鎖和頁級鎖。在個人博客中重點介紹過MySQL數據庫的行級鎖。這篇文章主要來介紹一下MySQL數據庫中的表級鎖。本文提到的讀鎖和寫鎖都是MySQL數據庫的M...
MySQL5.7 JSON 實現簡介 - 後端 - 掘金
本文主要介紹在MySQL 5.7.7開始引入的非結構化數據類型JSON的特性以及具體的實現方式(包括存儲方式)。首先介紹爲何要引入JSON的原生數據類型的支持;接着介紹MySQL給用戶提供的JSON操做函數,以及JSON路徑表達式語法,結合二者,用戶能夠在數...
MySQL 數據庫的高可用性分析 - 後端 - 掘金
MySQL數據庫是目前開源應用最大的關係型數據庫,有海量的應用將數據存儲在MySQL數據庫中。存儲數據的安全性和可靠性是生產數據庫的關注重點。本文分析了目前採用較多的保障MySQL可用性方案。 MySQL ReplicationMySQL Replicatio...
庫存-Mysql中的事務、鎖與存儲引擎 - 掘金
設計一個庫存系統。在庫存系統中,最重要的就是要防止超賣。模擬的SQL語句以下:首先查詢是否有剩餘量,正常的操做爲: select * from t_goods where id=1 and rest>0;而後發現有剩餘量,開始執行更新操做: upd...
五分鐘搞清楚 MySQL 事務隔離級別 - 後端 - 掘金
很久沒碰數據庫了,只是想起本身當時在搞數據庫的時候在事務隔離級別這塊總是卡,似懂非懂的。如今想把這塊整理出來,儘可能用最簡潔的語言描述出來,供新人蔘考。 首先建立一個表account。建立表的過程略過(因爲Inno...
MySQL 數據類型 - 後端 - 掘金
MySQL中定義數據字段的類型對你數據庫的優化是很是重要的。 MySQL支持多種類型,大體能夠分爲三類:數值、日期/時間和字符串(字符)類型。 數值類型 MySQL支持全部標準SQL數值數據類型。 這些類型包括嚴格數值數據類型(INTEGER、SMALLI...
MySQL 如何在主從模式之間自由應變 - 後端 - 掘金
衆所周知,MySQL支持主從模式,也就是使用一臺MySQL服務器做爲主服務器,再用一臺或多臺MySQL服務器充當從服務器,主、從服務器做爲一個總體參與到應用之中。 【主從模式的三大優勢】 ▲支持讀寫分離,下降數據庫負荷。 通...
MySQL 大表優化方案 - 後端 - 掘金
當MySQL單表記錄數過大時,增刪改查性能都會急劇降低,能夠參考如下步驟來優化: 單表優化 除非單表數據將來會一直不斷上漲,不然不要一開始就考慮拆分,拆分會帶來邏輯、部署、運維的各...
MySQL 閃回原理與實戰 - 後端 - 掘金
DBA或開發人員,有時會誤刪或者誤更新數據,若是是線上環境而且影響較大,就須要能快速回滾。傳統恢復方法是利用備份重搭實例,再應用去除錯誤sql後的binlog來恢復數據。此法費時費力,甚至須要停機維護,並不適合快速回滾。也有團隊利用LVM快照來縮短恢復時間,但...
MySQL 線程池內幕 - 後端 - 掘金
摘要 在MySQL中,線程池指的是用來管理處理MySQL客戶端鏈接任務的線程的一種機制,我廠用的percona版本已是集成了線程池,只須要經過以下參數開啓便可。 thread_handling=pool-of-threads 本文在介紹MySQL線程池核心參...
(16)mysql 中的表鎖定及事務控制 - 掘金
概述 MySQL支持三種鎖級別:頁級、表級、行級。MyISAM和MEMORY存儲引擎採用的是表級鎖(table-level locking);BDB存儲引擎採用的是頁面鎖(page-level locking),但也支持表級鎖;InnoDB存儲引擎既支持行級鎖...
MySql 優化 - 後端 - 掘金
原文連接:http://blog.csdn.net/qq_22329... SQL優化 經過show status命令瞭解各類sql的執行效率 查...
MySQL 如何存儲大數據 - 後端 - 掘金最近,在工做中遇到了MySQL中如何存儲長度較長的字段類型問題,因而花了一週多的時間抽空學習了一下,而且記錄下來。 MySQL大體的邏輯存儲結構在這篇文章中有介紹,作爲基本概念:InnoDB 邏輯存儲結構 注:文中所指的大數據指的是長度較長的數據字段,包括v...