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