Rumah pangkalan data tutorial mysql MySQLSchema设计(二)

MySQLSchema设计(二)

Jun 07, 2016 pm 04:18 PM
reka bentuk

茹志鹃在《妯娌》中说,再看红英自己,那是连半个钟头的工都不肯耽误的,也从没见她吃过一口零食,一看就知道是个会精打细算、会过日子的人。曾有人调侃,已婚身份最是适合DBA,毕竟,不当家不知柴米贵,年底的资源容量订购,那一分钱都是心头肉啊,会吃的吃

       茹志鹃在《妯娌》中说,“再看红英自己,那是连半个钟头的工都不肯耽误的,也从没见她吃过一口零食,一看就知道是个会精打细算、会过日子的人。”曾有人调侃,已婚身份最是适合DBA,毕竟,不当家不知柴米贵,年底的资源容量订购,那一分钱都是心头肉啊,会吃的吃千顿,不会吃的吃一顿。而且,故障诊断以及性能调优时,OS层的APP直接拖垮DB的案例也是家珍如数啊。所以,思前顾后,吃穿常有。谓之,DBA以俭德辟难。

      活在大数据时代下,勤俭节约更是DBA的传统美德。慎重选择数据类型很重要,对类型当持有斤斤计较的心思,理由如下:

● 计算、进而减负CPU负载

㈠ 3种数据类型 1. INT(M) 到底有多M?

M 默认是11,最大有效显示宽度是255。无论M多大,INT一定是4 bytes。M仅表示显示宽度,与存储大小或类型包含的值的范围无关。离了zerofill这个属性,M是毫无意义的,硬说有呢、大概也是为了显示字符的个数、人性化点。对于存储和计算而言,INT(11)和INT(255)是相同的。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

mysql> create table t (id int(2));

Query OK, 0 rows affected (0.08 sec)

 

mysql> insert into t select 10086;

Query OK, 1 row affected (0.01 sec)

Records: 1 Duplicates: 0 Warnings: 0

 

mysql> select * from t;

+-------+

| id |

+-------+

| 10086 |

+-------+

1 row in set (0.01 sec)

 

mysql> alter table t change column id id int(16);

Query OK, 0 rows affected (0.02 sec)

Records: 0 Duplicates: 0 Warnings: 0

 

mysql> select * from t;

+-------+

| id |

+-------+

| 10086 |

+-------+

1 row in set (0.00 sec)

 

mysql> alter table t change column id id int(16) zerofill;

Query OK, 1 row affected (0.19 sec)

Records: 1 Duplicates: 0 Warnings: 0

 

mysql> select * from t;

+------------------+

| id |

+------------------+

| 0000000000010086 |

+------------------+

1 row in set (0.00 sec)

 

mysql> alter table t change column id id int(5) zerofill;

Query OK, 0 rows affected (0.02 sec)

Records: 0 Duplicates: 0 Warnings: 0

 

mysql> select * from t;

+-------+

| id |

+-------+

| 10086 |

+-------+

1 row in set (0.00 sec)

 

mysql> alter table t change column id id int(6) zerofill;

Query OK, 0 rows affected (0.01 sec)

Records: 0 Duplicates: 0 Warnings: 0

 

mysql> select * from t;

+--------+

| id |

+--------+

| 010086 |

+--------+

1 row in set (0.00 sec)

2 计算VARCHAR(N)N的最大值

今有道面试题:若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少?

我们不急着计算,先来看几个注意事项:

● 最大行长度是65535,不过NDB引擎除外。这个限制了列的数目,比如char(255) utf8,那么列的数目最多有65535/(255*3)=85,列的数目可以从这里得到依据

● 字符集问题

latin1:占用一个字节

gbk:每个字符最多占用2个字节

utf8:每个字符最多占用3个字节

● 长度列表

需要额外地在长度列表上存放实际的字符长度:小于255为1个字节,大于255则要2个字节

● 1byte/row开销

在字符集选用latin1情况下,依据限制3,应该有65533长度可用,然而:

1

2

3

4

mysql> create table max_len_varchar(col varchar(65533) charset latin1);

ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

mysql> create table max_len_varchar(col varchar(65532) charset latin1);

Query OK, 0 rows affected (0.16 sec)

所以,MySQL中,实际存储应该是从第2个字节开始

至此,我们便可以从容得出开头的答案:(65535-1-2)/3。有始有终,再以一道面试题结束本小节:

create table t (col1 int(11), col2 char(50), col3 varchar(N)) charset=utf8;这里的N最大值?有兴趣的朋友可自行算下。

3 timestamp那些事

先看个MySQL datetime的bug提提神:

1

2

3

4

5

6

7

8

9

10

11

12

13

mysql> create table t (start_time datetime,stop_time datetime);

Query OK, 0 rows affected (0.12 sec)

 

mysql> insert into t (start_time, stop_time) values ("2014-01-19 21:46:18", "2014-01-20 00:21:31");

Query OK, 1 row affected (0.02 sec)

 

mysql> select start_time, stop_time, stop_time - start_time from t;

+---------------------+---------------------+------------------------+

| start_time | stop_time | stop_time - start_time |

+---------------------+---------------------+------------------------+

| 2014-01-19 21:46:18 | 2014-01-20 00:21:31 | 787513 |

+---------------------+---------------------+------------------------+

1 row in set (0.00 sec)

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

ZTE 5G Wi-Fi U50S mudah alih dijual pada harga NT$899 pada harga awal: kelajuan rangkaian maksimum 500Mbps ZTE 5G Wi-Fi U50S mudah alih dijual pada harga NT$899 pada harga awal: kelajuan rangkaian maksimum 500Mbps Apr 26, 2024 pm 03:46 PM

Menurut berita pada 26 April, Wi-Fi U50S mudah alih 5G ZTE kini dijual secara rasmi, bermula pada 899 yuan. Dari segi reka bentuk penampilan, Wi-Fi Mudah Alih ZTE U50S adalah ringkas dan bergaya, mudah dipegang dan dibungkus. Saiznya ialah 159/73/18mm dan mudah dibawa, membolehkan anda menikmati rangkaian berkelajuan tinggi 5G pada bila-bila masa dan di mana-mana, mencapai pengalaman pejabat mudah alih dan hiburan tanpa halangan. Wi-Fi U50S mudah alih ZTE 5G menyokong protokol Wi-Fi 6 lanjutan dengan kadar puncak sehingga 1800Mbps Ia bergantung pada platform 5G berprestasi tinggi Snapdragon X55 untuk menyediakan pengalaman rangkaian yang sangat pantas. Ia bukan sahaja menyokong persekitaran rangkaian SA+NSA dwi-mod 5G dan jalur frekuensi Sub-6GHz, kelajuan rangkaian yang diukur malah boleh mencapai 500Mbps yang menakjubkan, yang mudah memuaskan.

Bermula pada NT$649, Kubi Cube Xiaoku Tablet 2 Lite ada di sini: skrin besar pelindung mata 11 inci + bateri besar 8000mAh Bermula pada NT$649, Kubi Cube Xiaoku Tablet 2 Lite ada di sini: skrin besar pelindung mata 11 inci + bateri besar 8000mAh Mar 05, 2024 pm 05:34 PM

Menurut berita pada 4 Mac, Kubi Rubik's Cube akan melancarkan komputer tablet "Xiaoku Tablet 2Lite" pada 5 Mac, dengan harga permulaan 649 yuan. Dilaporkan bahawa tablet baharu itu dilengkapi dengan pemproses T606 Unisoc, yang menggunakan proses 12nm dan terdiri daripada dua CPU ArmCortex-A75 1.6GHz dan enam pemproses ArmCortex-A55. Skrin ini menggunakan skrin pelindung mata IPS 10.95 inci dengan resolusi 1280x800 dan kecerahan setinggi 350 nits. Dari segi pengimejan, Xiaoku Tablet 2Lite mempunyai kamera utama 13 megapiksel di belakang dan lensa selfie 5 megapiksel di hadapan Ia juga menyokong akses/panggilan Internet 4G, Bluetooth 5.0 dan Wi-Fi5. Selain itu, pegawai itu mendakwa bahawa tablet&l ini

Trend retro! HMD dan Heineken bersama-sama melancarkan telefon selip: reka bentuk cangkerang telus Trend retro! HMD dan Heineken bersama-sama melancarkan telefon selip: reka bentuk cangkerang telus Apr 17, 2024 pm 06:50 PM

Menurut berita pada 17 April, HMD bekerjasama dengan jenama bir terkenal Heineken dan syarikat kreatif Bodega untuk melancarkan telefon selip yang unik - The Boring Phone. Telefon ini bukan sahaja penuh dengan inovasi dalam reka bentuk, tetapi juga kembali kepada alam semula jadi dari segi kefungsian, bertujuan untuk membawa orang ramai kembali kepada interaksi interpersonal yang sebenar dan menikmati masa yang murni untuk minum bersama rakan-rakan. Telefon mudah alih yang membosankan menggunakan reka bentuk flip lutsinar yang unik, menunjukkan estetika yang ringkas namun elegan. Ia dilengkapi dengan paparan QVGA 2.8 inci di dalam dan paparan 1.77 inci di luar, memberikan pengguna pengalaman interaksi visual asas. Dari segi fotografi, walaupun hanya dilengkapi dengan kamera 30 megapiksel, ia sudah cukup untuk mengendalikan tugasan harian yang mudah.

Honor Magic V3 memperkenalkan teknologi perlindungan mata nyahfokus AI: berkesan mengurangkan perkembangan rabun Honor Magic V3 memperkenalkan teknologi perlindungan mata nyahfokus AI: berkesan mengurangkan perkembangan rabun Jul 18, 2024 am 09:27 AM

Menurut berita pada 12 Julai, siri Honor Magic V3 telah dikeluarkan secara rasmi hari ini, dilengkapi dengan skrin perlindungan mata Honor Vision Soothing Oasis yang baharu Walaupun skrin itu sendiri mempunyai spesifikasi tinggi dan kualiti tinggi, ia juga mempelopori pengenalan perlindungan mata aktif AI teknologi. Dilaporkan bahawa cara tradisional untuk mengurangkan rabun adalah "kaca mata rabun". Kuasa cermin mata rabun diagihkan secara sama rata untuk memastikan kawasan pusat penglihatan diimej pada retina, tetapi kawasan persisian digambarkan di belakang retina. Retina merasakan bahawa imej berada di belakang, menggalakkan arah paksi mata berkembang kemudian, dengan itu mendalamkan darjah. Pada masa ini, salah satu cara utama untuk mengurangkan perkembangan rabun adalah "kanta nyahfokus". Kawasan pusat mempunyai kuasa biasa, dan kawasan persisian diselaraskan melalui partition reka bentuk optik, supaya imej di kawasan persisian jatuh ke dalam. hadapan retina.

Tablet Teclast M50 Mini ada di sini: Skrin IPS 8.7 inci, bateri 5000mAh Tablet Teclast M50 Mini ada di sini: Skrin IPS 8.7 inci, bateri 5000mAh Apr 04, 2024 am 08:31 AM

Menurut berita pada 3 April, komputer tablet M50 Mini Taipower yang akan datang ialah peranti dengan fungsi yang kaya dan prestasi yang berkuasa. Tablet kecil 8 inci baharu ini dilengkapi dengan skrin IPS 8.7 inci, memberikan pengguna pengalaman visual yang sangat baik. Reka bentuk badan logamnya bukan sahaja cantik tetapi juga meningkatkan ketahanan peranti. Dari segi prestasi, M50Mini dilengkapi dengan pemproses lapan teras Unisoc T606, yang mempunyai dua teras A75 dan enam teras A55, memastikan pengalaman berjalan yang lancar dan cekap. Pada masa yang sama, tablet ini juga dilengkapi dengan penyelesaian storan 6GB+128GB dan menyokong pengembangan memori 8GB, yang memenuhi keperluan pengguna untuk storan dan berbilang tugas. Dari segi hayat bateri, M50Mini dilengkapi dengan bateri 5000mAh dan menyokong Ty

Bagaimana untuk mereka bentuk halaman akhir ppt supaya cukup menarik Bagaimana untuk mereka bentuk halaman akhir ppt supaya cukup menarik Mar 20, 2024 pm 12:30 PM

Di tempat kerja, ppt ialah perisian pejabat yang sering digunakan oleh para profesional. Ppt yang lengkap mesti mempunyai halaman penghujung yang baik. Keperluan profesional yang berbeza memberikan ciri pengeluaran ppt yang berbeza. Mengenai penghasilan halaman akhir, bagaimana kita boleh mereka bentuknya dengan lebih menarik? Mari kita lihat cara mereka bentuk halaman akhir ppt! Reka bentuk halaman akhir ppt boleh dilaraskan dari segi teks dan animasi, dan anda boleh memilih gaya yang ringkas atau mempesonakan mengikut keperluan anda. Seterusnya, kami akan memberi tumpuan kepada cara menggunakan kaedah ekspresi inovatif untuk mencipta halaman akhir ppt yang memenuhi keperluan. Jadi mari kita mulakan tutorial hari ini. 1. Untuk penghasilan halaman akhir, apa-apa teks dalam gambar boleh digunakan yang penting tentang halaman akhir ialah ia bermakna pembentangan saya telah tamat. 2. Selain perkataan ini,

Telefon Vivo dengan isyarat paling kuat! vivo X100s dilengkapi dengan sistem penguatan isyarat universal: 21 antena, reka bentuk sekeliling 360° Telefon Vivo dengan isyarat paling kuat! vivo X100s dilengkapi dengan sistem penguatan isyarat universal: 21 antena, reka bentuk sekeliling 360° Jun 03, 2024 pm 08:41 PM

Menurut berita pada 13 Mei, vivoX100s telah dikeluarkan secara rasmi malam ini Selain imej yang sangat baik, telefon baharu ini juga menunjukkan prestasi yang sangat baik dari segi isyarat. Menurut pengenalan rasmi vivo, vivoX100s menggunakan sistem penguatan isyarat universal yang inovatif, yang dilengkapi dengan sehingga 21 antena. Reka bentuk ini telah dioptimumkan semula berdasarkan skrin langsung untuk mengimbangi banyak keperluan isyarat seperti 5G, 4G, Wi-Fi, GPS dan NFC. Ini menjadikan vivoX100s sebagai telefon mudah alih dengan keupayaan penerimaan isyarat terkuat dalam sejarah vivo. Telefon baharu ini juga menggunakan reka bentuk keliling 360° yang unik, dengan antena diedarkan di sekeliling badan. Reka bentuk ini bukan sahaja meningkatkan kekuatan isyarat, tetapi juga mengoptimumkan pelbagai postur pegangan harian untuk mengelakkan masalah yang disebabkan oleh kaedah pegangan yang tidak betul.

Telefon bimbit Honor X60i dijual bermula dari 1,399 yuan: skrin langsung OLED segiempat visual Telefon bimbit Honor X60i dijual bermula dari 1,399 yuan: skrin langsung OLED segiempat visual Jul 29, 2024 pm 08:25 PM

Menurut berita pada 29 Julai, telefon bimbit Honor X60i dijual secara rasmi hari ini, bermula pada 1,399 yuan. Dari segi reka bentuk, telefon bimbit Honor X60i menggunakan reka bentuk skrin lurus dengan lubang di tengah dan sempadan ultra-sempit yang hampir tidak terhad pada keempat-empat sisi, yang meluaskan bidang pandangan. Parameter Honor X60i Paparan: Paparan definisi tinggi 6.7 inci Bateri: Bateri berkapasiti besar 5000mAh Pemproses: Pemproses Dimensity 6080 (TSMC 6nm, 2x2.4G A76+6×2G A55) Sistem: Sistem MagicOS8.0 Ciri-ciri lain: peningkatan isyarat 5G , kapsul pintar, cap jari bawah skrin, dwi MIC, pengurangan hingar, Soal Jawab pengetahuan, keupayaan fotografi: sistem dwi kamera belakang: 50 juta piksel kamera utama, 2 juta piksel kanta tambahan, kanta selfie hadapan: 8 juta piksel, harga: 8GB

See all articles