Cara melaksanakan pengoptimuman asas MySQL: strategi pemisahan mendatar dan menegak untuk jadual data

王林
Lepaskan: 2023-11-08 18:57:15
asal
800 orang telah melayarinya

Cara melaksanakan pengoptimuman asas MySQL: strategi pemisahan mendatar dan menegak untuk jadual data

Cara melaksanakan pengoptimuman asas MySQL: strategi pembahagian mendatar dan menegak bagi jadual data, contoh kod khusus diperlukan

Pengenalan:
Dalam senario aplikasi berskala besar, pangkalan data MySQL sering menghadapi tekanan untuk menyimpan dan menanyakan data besar-besaran. Untuk menyelesaikan masalah ini, MySQL menyediakan strategi pembahagian jadual data, termasuk pembahagian mendatar (Pembahagian Mendatar) dan pembahagian menegak (Pembahagian Menegak). Artikel ini akan memperkenalkan cara melaksanakan pengoptimuman asas MySQL, memfokuskan pada strategi pembahagian jadual data, dan juga akan memberikan contoh kod khusus.

1. Strategi pemisahan mendatar untuk jadual data
Pecahan mendatar merujuk kepada membahagikan data yang asalnya disimpan dalam jadual yang sama kepada berbilang jadual mengikut syarat tertentu, dan setiap jadual hanya mengandungi sebahagian daripada data. Teras pemisahan mendatar adalah untuk menyebarkan data ke dalam jadual fizikal yang berbeza berdasarkan nilai lajur tertentu, yang boleh mengurangkan jumlah data dalam satu jadual dan meningkatkan kecekapan pertanyaan.

Yang berikut mengambil jadual pesanan sebagai contoh, dengan mengandaikan bahawa ia perlu dipecah secara mendatar mengikut tarikh pesanan. Mula-mula buat jadual pesanan asal:

CREATE TABLE orders (
  order_id INT PRIMARY KEY,
  customer_id INT,
  order_date DATE,
  total_amount DECIMAL(10,2),
  ...
);
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, gunakan contoh kod berikut untuk melaksanakan fungsi pemisahan mendatar mengikut tarikh pesanan:

-- 创建分表orders_2020、orders_2021
CREATE TABLE orders_2020 LIKE orders;
CREATE TABLE orders_2021 LIKE orders;

-- 将订单数据插入到对应的分表中
INSERT INTO orders_2020 SELECT * FROM orders WHERE order_date BETWEEN '2020-01-01' AND '2020-12-31';
INSERT INTO orders_2021 SELECT * FROM orders WHERE order_date BETWEEN '2021-01-01' AND '2021-12-31';

-- 删除原始订单表
DROP TABLE orders;
Salin selepas log masuk

Dengan kod di atas, kami mencipta dua sub-jadual orders_2020 dan orders_2021, dan menggabungkan pesanan data Pisahkan dan masukkan berdasarkan kriteria tarikh pesanan. Akhirnya borang pesanan asal dipadamkan.

2. Strategi pembahagian menegak bagi jadual data
Pensegmenan menegak merujuk kepada membahagikan lajur yang asalnya disimpan dalam jadual yang sama kepada berbilang jadual mengikut peraturan tertentu, dan setiap jadual hanya mengandungi beberapa lajur. Tujuan pemisahan menegak adalah untuk memisahkan lajur yang sering ditanya daripada lajur yang jarang ditanya untuk meningkatkan kecekapan pertanyaan.

Teruskan mengambil jadual pesanan sebagai contoh, andaikan jadual pesanan dibahagikan secara menegak mengikut jumlah pesanan, dan maklumat asas pesanan dan jumlah pesanan disimpan dalam dua jadual masing-masing. Mula-mula buat jadual pesanan asal:

CREATE TABLE orders (
  order_id INT PRIMARY KEY,
  customer_id INT,
  order_date DATE,
  total_amount DECIMAL(10,2),
  ...
);
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, gunakan contoh kod berikut untuk melaksanakan pemisahan menegak jadual pesanan:

-- 创建分表orders_info和orders_amount
CREATE TABLE orders_info (
  order_id INT PRIMARY KEY,
  customer_id INT,
  order_date DATE,
  ...
);

CREATE TABLE orders_amount (
  order_id INT PRIMARY KEY,
  total_amount DECIMAL(10,2)
);

-- 将数据插入到对应的分表中
INSERT INTO orders_info SELECT order_id, customer_id, order_date FROM orders;
INSERT INTO orders_amount SELECT order_id, total_amount FROM orders;

-- 删除原始订单表
DROP TABLE orders;
Salin selepas log masuk

Dengan kod di atas, kami mencipta dua sub-jadual orders_info dan orders_amount, dan membahagikan data pesanan mengikut kepada maklumat asas dan amaun pesanan dibahagikan dan dimasukkan. Akhirnya borang pesanan asal dipadamkan.

Ringkasan:
Melalui strategi segmentasi mendatar dan menegak, kami boleh mengoptimumkan MySQL asas dan meningkatkan kecekapan pertanyaan. Pemisahan mendatar boleh menyerakkan data ke dalam berbilang jadual, mengurangkan jumlah data dalam satu jadual Pemisahan menegak boleh memisahkan lajur yang sering ditanya daripada lajur yang jarang ditanya, meningkatkan kecekapan pertanyaan. Dalam aplikasi sebenar, pilih strategi pembahagian yang sesuai berdasarkan senario perniagaan tertentu dan tulis kod yang sepadan untuk melaksanakan fungsi pembahagian.

Nota: Contoh kod di atas adalah untuk tujuan demonstrasi sahaja, dan perlu diubah suai dan ditambah baik mengikut keperluan khusus dalam aplikasi sebenar.

Atas ialah kandungan terperinci Cara melaksanakan pengoptimuman asas MySQL: strategi pemisahan mendatar dan menegak untuk jadual data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!