Heim >Datenbank >MySQL-Tutorial >Zeichnen Sie die MySQL-Entwicklungsspezifikationen auf

Zeichnen Sie die MySQL-Entwicklungsspezifikationen auf

coldplay.xixi
coldplay.xixinach vorne
2020-12-21 09:56:061628Durchsuche

MySQL-Video-Tutorial In der Spalte werden MySQL-Entwicklungsspezifikationen vorgestellt.

Zeichnen Sie die MySQL-Entwicklungsspezifikationen auf

Empfohlen (kostenlos): MySQL-Video-Tutorial

Grundlegende Spezifikationen

  • Verwendung der Innodb-Speicher-Engine

  • Der Tabellenzeichensatz verwendet utf-8

  • Kommentare zu allen Tabellen hinzufügen

  • Es wird empfohlen, das Datenvolumen einer einzelnen Tabelle auf 5000 W zu beschränken Grafiken und Dateien in der Datenbank

    Der Feldname des Bibliotheksnamentabellennamens muss eine feste Namenslänge von maximal 12 Zeichen haben.
  • Bibliotheksnamen, Tabellennamen und Feldnamen dürfen 32 Zeichen nicht überschreiten. Sie müssen die Bedeutung des Namens sehen
  • MySQL-reservierte Wörter sind in Bibliotheksnamen, Tabellennamen und Feldnamen verboten
  • Temporäre Bibliotheks- und Tabellennamen müssen mit dem Präfix „tmp“ und dem Suffix „Datum“ versehen werden

Backup Bibliotheken und Tabellen müssen mit dem Präfix „bak“ und dem Suffix „date“ versehen werden Geringe Umsatzhäufigkeit, heiße und kalte Daten trennen

Verwenden Sie HASH, um die diskrete Tabelle einzugeben, das Suffix des Tabellennamens ist eine Basiszahl und der Index beginnt bei 0
  • Die Tabelle muss dem
  • Format entsprechen nach Datum und Uhrzeit
  • Verwenden Sie eine geeignete Unterdatenbank-Tabellenaufteilungsstrategie. Zum Beispiel Qianku Ten Tables, Ten Databases Hundred Tables usw.
  • Verwenden Sie möglichst keine Text- und Blob-Typen
  • Verwenden Sie Decimal anstelle von Float und Double, um präzise Gleitkommazahlen zu speichern
  • Je einfacher, desto besser: Konvertieren Sie die Zeichen in Zahlen, verwenden Sie tinyint anstelle des Enum-Typs.

Alle Felder sind nicht null Speicher

    Verwenden Sie einen Zeitstempel, um die Zeit zu speichern
  • Verwenden Sie int unsigned, um IPv4 zu speichern
  • Verwenden Sie varbinary, um Zeichenfolgen variabler Länge zu speichern, bei denen zwischen Groß- und Kleinschreibung unterschieden wird.
  • Es ist verboten, Klartext-Passwörter in der Datenbank zu speichern. und die Passwörter werden verschlüsselt und gespeichert.
  • YYYY[MM][DD][HH]

    Verwenden Sie numerische Felder gut.
  • tinyint
  • 1
  • -128
  • 127
  • smallint

  • 2

  • -32768

  • 32767


    mittelint

    3

    -83886088388607 int4




    -2147483648

    2147483647

    bigint

    8
    -9223372036854775808

    9223372036854775807

    Wenn das numerische Feld nicht so groß ist, verwenden Sie kein bigint

  • Am besten speichern Sie IP in int statt in char(15)

  • enum ist nicht zulässig

  • Vermeiden Sie die Verwendung von null Felder

    Nullfelder sind schwer abzufragen, Indizes für Nullfelder erfordern zusätzlichen Speicherplatz und zusammengesetzte Indizes für Nullfelder sind ungültig.

  • Indexspezifikationen

    • Die Anzahl der Indizes in einer einzelnen Tabelle sollte 5 nicht überschreiten.

    • Die Anzahl der Felder in einem einzelnen Index sollte 5 nicht überschreiten.

    • Verwenden Sie Präfixindizes Für Zeichenfolgen sollte die Länge des Präfixindex 8 Zeichen nicht überschreiten. Es wird empfohlen, dem Präfixindex Vorrang einzuräumen. Bei Bedarf können Sie Pseudospalten hinzufügen und einen Index erstellen. Die Tabelle muss einen haben Primärschlüssel

    • Verwenden Sie keine häufig aktualisierten Spalten als Primärschlüssel.

    • Versuchen Sie, keine Zeichenfolgenspalten als Primärschlüssel auszuwählen

      Standardmäßig werden nicht leere eindeutige Schlüssel als Primärschlüssel verwendet.
    • Es wird empfohlen, „Auto-Inkrementierung“ oder „Ausgeber“ zu wählen nach, gruppieren nach, unterschiedliche Felder
    • Hinweis zu Feldern für Mehrtabellen-Joins
    • <p>1.区分度最大的字段放在前面<br>2.核SQL优先考虑覆盖索引<br>3.避免冗余和重复索引<br>4.索引要综合评估数据密度和分布以及考虑查询和更新比例<br></p>
    • Index-Tabus

    <p>1.不在低基数列上建立索引、例如性别<br>2.不在索引列记性数学运算和函数运算<br></p>
  • Versuchen Sie, keine Fremdschlüssel zu verwenden
  • <p>1.外键用来保护参照完整性,可以业务端实现<br>2.对父表和字表的操作会互相影响,降低可用性<br></p>
  • Indexbenennung

  • <p>1.非唯一索引必须以 inx_字段1_字段22.唯一索引必须以 uniq_字段1_字段2<br></p>
    • Der Standardwert des Indexfeldes darf nicht leer sein. Null hat großen Einfluss auf die Abfrageeffizienz des Index.

    Überprüfen Sie wiederholt die mit der Tabelle verknüpfte SQL und erstellen Sie einen Index basierend auf den Merkmalen des Präfixes ganz links. Bei Indizes mit mehreren sich wiederholenden Feldern ist es erforderlich, die Reihenfolge der Anweisungsbedingungsfelder zu ändern und einen gemeinsamen Index für sie zu erstellen, um die Anzahl der Indizes zu reduzieren.
    • Wenn Sie einen eindeutigen Index verwenden können, verwenden Sie einen eindeutigen Index.
    • F&E sollte häufig „explain“ verwenden. Wenn sie feststellen, dass die Indexselektivität schlecht ist, müssen sie lernen, Hinweise zu verwenden.

    • SQL-Spezifikation

    • SQL-Anweisungen sollten so einfach wie möglich sein , Funktionen und gespeicherte Prozeduren
    • Reduzieren Sie die Geschäftskopplung und lassen Sie Platz für Sacle Out und Sharding
    • Vermeiden Sie mathematische Operationen in der Datenbank, MySQL ist nicht gut für mathematische Operationen und logisches Urteilsvermögen.

    Nicht verwenden Wählen Sie *, um diese Felder abzufragen. Wählen Sie einfach diese Felder aus.

    Schreiben Sie or in SQL wie in um. Die Effizienz von or ist nicht so hoch wie die von in
    • Es wird empfohlen, dass die Anzahl der Zahlen in in innerhalb von 1000 liegt
    • Beschränken Sie das Paging und achten Sie auf Effizienz. Je größer der Grenzwert, desto geringer ist der Wirkungsgrad.
    • Verwenden Sie Union All statt Union viele Daten auf einmal
    • Reduzieren Sie die Anzahl der Interaktionen mit der Datenbank
    • Achten Sie auf die Verwendung von Leistungsanalysetools
    • SQL-Anweisungen erfordern alle Forschung und Entwicklung, SQL-Schlüsselwörter werden alle großgeschrieben und es gibt nur ein Leerzeichen ist für jedes Wort zulässig. SQL-Anweisungen sind nicht zulässig. Es erfolgt eine implizite Konvertierung. like
    • Verwenden Sie keine negativen Abfragen wie „not in“, „not like“
    • Es ist verboten, in der Datenbank ausgeführt zu werden. Große Abfragen
    • ermöglichen vorkompilierten Anweisungen, nur Parameter zu übergeben, was effizienter ist als das Übergeben SQL-Anweisungen. Reduzieren Sie die SQL-Injection.
    • Es ist verboten, die Reihenfolge nach Rand zu verwenden.
    • Es ist verboten, mehrere Tabellen gleichzeitig mit einer einzigen SQL-Anweisung zu aktualisieren.
    • Prozessspezifikation: Alle Tabellenerstellungsvorgänge Sie müssen die an der Tabelle beteiligte SQL-Abfrage im Voraus informieren.

    • Bei der Tabellenerstellung muss ermittelt werden, welche Indizes erstellt werden, bevor die Tabelle erstellt und online gestellt werden kann.

    • Alle Tabellenstrukturänderungen und Indexzugabevorgänge müssen einbezogen werden Abfrage-SQL der Tabelle und Ausgabe an den DBA und andere relevante Mitarbeiter und Überprüfung

    • Der Batch-Import und -Export von Daten muss den DBA im Voraus benachrichtigen, um die Beobachtung zu unterstützen.

    • Der Online-Zugriff ist verboten. Die Bibliothek führt Back-End-Verwaltung und statistische Abfragen durch.

    • Verbietet die Existenz von Anwendungskonten mit Super-Berechtigungen

    • Keine Batch-Updates und Datenbankabfragen mehr während der Hauptgeschäftszeiten

Das obige ist der detaillierte Inhalt vonZeichnen Sie die MySQL-Entwicklungsspezifikationen auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen