Blog

Tăng hiệu suất làm việc với SQL

SQL (Structured Query Language) ngôn ngữ truy vấn mang tính cấu trúc, chuyên dùng để đọc, ghi, cập nhật, xoá dữ liệu trên các cơ sở dữ liệu quan hệ (relational database). Phần lớn các hệ thống phần mềm đều sử dụng SQL, thông qua các vendor khác nhau như Postgres, MySql, SqlServer, OracleDB… Mỗi hệ quản trị cơ sở dữ liệu lại có tính năng, ưu thế riêng biệt, như opensource, stable, big data…

Việc lựa chọn vendor nào phụ thuộc vào nhiều yếu tố, ở đây chúng ta bỏ qua sự khác nhau này và tập trung vào phần lõi: SQL.

SQL Overview

Trong quá trình phát triển phần mềm (gọi chung cho tất cả các platforms: web, app, mobile…), rất nhiều vấn đề xảy ra liên quan tới cơ sở dữ liệu như: việc truy xuất dữ liệu tốn quá nhiều thời gian, ghi dữ liệu bất đồng bộ, chi phí quản lý cơ sở dữ liệu quá cao, redundant data… dẫn tới giảm hiệu năng của phần mềm, tạo ra những trải nghiệm hạn chế cho người dùng.

Đặt trường hợp khách hàng muốn xem danh sách các orders của họ, mà việc truy vấn dữ liệu mất hơn 1 phút dể hoàn thành, thì chắc hẳn họ sẽ ko muốn dùng hệ thống của bạn. Lúc này, việc tối ưu SQL sẽ giúp giải quyết vấn đề.

Một số lợi ích của việc tối ưu SQL:

  • Tăng tốc độ, cải thiện hiệu suất làm việc của hệ thống
  • Giảm tải cho cho server
  • Giảm chi phí cài đặt server (việc phải xử lý quá nhiều yêu cầu nhiều tài nguyên về CPU/RAM)

Cập nhật phần cứng

Đây là giải pháp đơn giản & hiệu quả, effort vừa phải, nhưng thường bị xem nhẹ. Developer thường chú ý tới các giải pháp mang tính programing khi nói về database tuning. Nhưng thực tế, nhiều hệ thống server chỉ chạy với CPU lõi đơn, 512MB ram, thậm chí một số server CPU load và RAM load liên tục ở mức cao, hoặc trường hợp cài đặt quá nhiều ứng dụng trên server cũng dẫn tới tài nguyên cho RDBMS (Related Database Management System – Hệ thống quản lý cơ sở dữ liệu quan hệ) bị hạn chế, làm giảm hiệu quả chung của toàn hệ thống.

Ổ cứng SSD, RAM với bus cao, CPU đa nhân sẽ giúp tăng tốc độ rất nhiều cho RDBMS và cả cho toàn bộ hệ thống của khách hàng. GPU cũng mang lại nhiều giá trị trong những hệ thống cần truy xuất dữ liệu thường xuyên.

Sử dụng kết hợp nhiều database khác nhau cho từng mục đích

Đi kèm với sự phát triển của điện toán đám mây, Cloud DB ra đời, việc dùng nhiều DB trong một hệ thống trở nên đơn giản hơn, điều này tạo tiền đề tốt cho việc tối ưu hoá SQL.

Tiki, Facebook, Pinterest… đều sử dụng nhiều loại & nhiều RDBMS khác nhau, tuỳ từng mục đích sử dụng, developer có thể sẽ bỏ nhiều effort hơn để quản lý connection tới từng DB server, nhưng bù lại, data có thể được truy xuất nhanh hơn, vì lúc này số lượng record trong mỗi DB ít hơn.

Bằng việc dùng nhiều DB khác nhau để quản lý Users, Pictures, Logs, tốc độ đọc, ghi data sẽ tăng lên đáng kể. Trong từng trường hợp, mà người quản trị có thể xem xét scale up từng hệ thống riêng lẻ như Log, Pictures, trong khi vẫn giữ Users DB như cũ.

Backup database

Có hàng chục lý do để backup DB, như: bảo đảm an toàn dữ liệu, phục hồi dữ liệu khi cần thiết, bảo vệ khách hàng, bảo vệ thành quả kinh doanh… Với việc sử dụng Cloud DB, việc backup DB lại trở nên đơn giản hơn bao giờ hết. Các hệ thống dịch vụ Cloud DB đều hỗ trợ backup schedule, quản trị viên có thể setup thời gian bảo trì của DB, nơi lưu trữ, thời gian lưu trữ, một số nhà cung cấp thậm chí còn cho phép backup DB một cách tự động.

Việc backup DB đơn thuần sẽ không giúp ích trực tiếp trong việc tối ưu SQL, nhưng kết hợp với xoá dữ liệu, tốc độ truy xuất & an toàn dữ liệu sẽ tăng lên rất nhiều.

Lưu trữ dữ liệu cũ (Archive Inactive Data)

Một trong những phương án dễ bị lãng quên trong quá trình tối ưu hoá SQL đó là lưu trữ dữ liệu cũ. Nói chính xác hơn là move/delete những dữ liệu không còn cần thiết, dữ liệu không quan trọng như log, history, messages… vào những nơi phù hợp hơn, thay vì để nó nằm trong DB hiện hành.

Sau hàng tháng (năm) phục vụ, hệ thống sinh ra rất nhiều file logs, message, soft-delete records, invalid-data, những dữ liệu này không được sử dụng, nhưng vẫn sử dụng tài nguyên RDBMS, quá trình truy xuất các dữ liệu có dính dáng tới các phần này thường sẽ mất nhiều thời gian khi số lượng record lên tới hàng triệu. Bằng việc backup DB, ta có thể chuyển những record này vào nơi backup, từ đó giảm được số record trong DB hiện hành, tốc độ truy vấn/insert dữ liệu sẽ tăng lên rất nhiều. Khi cần thiết, ta hoàn toàn có thể restore lại bằng các bản backup hoặc các kỹ thuật restoration khác.

Lưu ý: Ta sẽ hoàn toàn không xoá dữ liệu, mà sẽ chuyển nó qua 1 storage khác để có thể phục vụ các mục đích khác. Ví dụ:

  • Chuyển các dữ liệu mua hàng của người dùng sang analytic DB, và sử dụng dữ liệu này cho việc phân tích hành vi tiêu dùng. (Tiki)
  • Tạo các bản sao lưu lịch sử chat của người dùng. (Zalo)

Kết luận

Những giải pháp nêu ra trong phần này chủ yếu giải quyết ở phía phần cứng, less programming, tính khả thi cao, các giải pháp có thể dùng riêng lẻ hoặc kết hợp với nhau để ra được kết quả tốt hơn & phù hợp với trường hợp của bạn.

Chúng tôi chuyên cung cấp những khoá học để trở thành chuyên gia Phân tích dữ liệu, đăng ký ngay để nhận được tư vấn chi tiết lộ trình dành riêng cho bạn nhé!

SQL Level 1: SQL for Beginner (for Data Analyst/ Business Analyst/ Tester Data) – Truy vấn và thao tác dữ liệu cho người bắt đầu

SQL Level 2: Advanced SQL (for Data Engineer) – Lập trình dữ liệu nâng cao

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    suarairama pestanada beritabandar rumahjurnal podiumnews dailyinfo wikiberita zonamusiktop musicpromote bengkelpintar liburanyuk jelajahhijau carimobilindonesia jalanjalan-indonesia otomotifmotorindo ngobrol olahraga mabar dapurkuliner radarbandung indosiar radarjawa medianews infowarkop kalbarnews ketapangnews beritabumi kabarsantai outfit faktagosip beritagram lagupopuler seputardigital updatecepat marihidupsehat baliutama hotviralnews cctvjalanan beritajalan beritapembangunan pontianaknews monitorberita koronovirus museros iklanjualbeli festajunina capoeiravadiacao georgegordonfirstnation 1reservoir revisednews

    Cara Insting Tajam Menyusun Pola Simetris Baccarat Online Lewat Mekanisme yang Optimal Analisis Pemain Bogor Melalui Logika dan Emosi Mahjong Wins 3 Ternyata Cermin dari Kesabaran Diri Strategi Ganda Baccarat Pemain Makassar Viral! Kemenangan Ganda Membaca Pola Masa Depan Catatan Manual ke Strategi Nyata, Pemain Bogor Temukan Pola Mahjong Ways 2 Membungkam Mitos Keberuntungan Analisis Sunyi Pemain Baccarat Jakarta Temukan Logika di Balik Kekacauan yang Terencana Teknik Presisi Mengatur Kecepatan Spin Mahjong Ways 3 Untuk Kenaikan Hasil yang Ideal Mulai dengan Doa Menang Cara Efektif Menganalisis Trik Baccarat Online Secara Sistematis Cara Unlock Pola Tersembunyi Mahjong Wins 3 Sebagai Langkah Pintar Meraih Kemenangan Trik Escape di Putaran Cepat Pragmatic Gate Olympus Sambut Kemenangan Spesial Pelajari Membaca Pola Sederhana Mahjong Ways 2 Bikin Menang Tipis Tapi Tetap Stabil Taktik Rahasia Supir Pribadi Memanggil Scatter Hitam di Mahjong Ways 2 Saat Drive Thru Cara Intuisi Bekerja Mencatat Pola Baccarat Online Melalui Skema yang Sempurna Tafsir Personal Membuka Pintu Berkah Lewat Mahjong Wins 3 Bikin Keuntungan Tetap Stabil Arsip Data Narasi Gates of Olympus Ciptakan Putaran Warna Spesial Lebih Menguntungan Resonansi Sunyi di Tengah Irama Mahjong Ways 3 Berikan Labirin Menuju Cuan Besar Dimensi Scatter Ganda Mahjong Ways 2 Sebagai Takdir Kemenangan Nyata Merubah Nasib Ekspansi Kosmik Wild Membangun Fitur Kejayaan Abadi Dunia Mahjong Wins 3 Kakek Tua di Pantai Ancol Menemukan Jejak Pola Gates of Olympus Membawa Cuan Berlimpah Kisah Sang Legenda Baccarat Online Temukan Lembaran Data Sebagai Analisa Merubah Garis Kehidupan Cara Mendengar Langkah Sunyi Scatter Hitam Sebagai Sinyal Kemenangan di Mahjong Ways 3 Setelan Ideal Sinkronisasi Pola Mahjong Ways 2 Mengatur Tempo Scatter dengan Hasil Optimal Cara Evaluasi Sederhana Cepat Kuasai Trik Baccarat Online Secara Tepat dan Terarah Konsolidasi Pola Spin Membantu Menunjukkan Arah Strategis di Mahjong Ways 3 Bangkitkan Semangat Menjemput Rejeki Lewat Mahjong Ways Saat Scatter Muncul Tiba-tiba Fakta Unik Mahjong Wins 3: Teknik Rahasia Munculkan Wild Berderet pada Spin Pertama Semarang Menjadi Kota Fantasi Mahjong, Tukang Edit Foto Mengunggah Permainan Pola Mahjong Terbaru Hujan Deras, Sejumlah Pengendara Menepi dan Mencoba Bermain Mahjong Wins 3 yang Sedang Bocor Saat Ini Fenomena Tengah Malam, Mahjong Ways 3 Tiba-Tiba Berubah Warna dan Disebut Masuk Mode Rahasia Scatter Black Peneliti Visual SUHUBET Ungkap Sinkronisasi Pola Mahjong dan Musik, Disebut Harmoni Terserasi Tahun Ini Kobarkan Semangat Syair Mahjong, Tangerang Gelarkan Protokol Putaran Cepat 50 Kali Dalam 1 Kali Coba Spin Strategi Hidup Dan Mati Pola Terbaik Anti Boncor Menghadirkan Berbagai Penghasilan Terbesar Pada Mahjong Ways 3 Hanya Menggunakan Mahjong Ways Mendapatkan Rp150.000.000 Tips Cara Memelihara Anabull Ala Husman Timeline Rahasia Perputaran Mahjong Wins Dapat Membuat Turunnya Pola Jackpot Dengan Konsisten Pengembangan Mahjong Dengan Teknologi Ai Menghadirkan Pola Jackpot Dengan Market Cap Hijau Pola Mahjong Tercepat Dan Tertajam Tips Membaca Pola Hingga Pandai Ala Jefri Dengan Hasil Rp 210.000.000 Shin Tae-Yong Sudah Fix Tidak Melatih Timnas Cek Juga Tempat Jadwal Nonton Bola Harian di SLOTSENSA Cerdas Cermat Membaca Dan Analisis Pola Mahjong Dengan Bermodal 50k Menjadi Rp150.000.000 Sangat Optimis Hanto Dengan Perputaran Menarik Melawan Mahjong Menggunakan Pola Hasil Analisis Data Spirit Perjuangan Hilman Bertambah Besar Setelah Memenangkan Rp 410.000.000 dari Pertarungan Mahjong Sinopsis Penulis Mengungkap Pertarungan Dengan Naga Mahjong Menggunakan Teknik Praktis dan Pola Visual Rahasia di Balik Pola Mahjong Wins 3 Akhirnya Ditemukan! Pemain Asal Bandung Bongkar Trik yang Selama Ini Disembunyikan Strategi Langkah Mundur di Mahjong Ways Tiba-Tiba Populer, Katanya Bisa Bikin Pola RTP Tetap Stabil Sepanjang Hari Dari Analisis Panjang ke Hasil Mengejutkan! Mahjong Wins 3 Ternyata Punya Pola Tersembunyi yang Jarang Disadari Pemain Rahasia Pemain Surabaya Akhirnya Terkuak! Mahjong Ways 2 Bisa Pecah Berkali-Kali Cuma Modal Rotasi 15 Menit Sekali Fenomena Baru Mahjong Wins! Pemain Bogor Ungkap Pola Pergantian Hari yang Selalu Bawa Kemenangan Besar Fenomena Langka di Komunitas Digital Mahjong Black Dragon, Visualnya Bikin Kagum Perpaduan Suara dan Penyajian Semerbak untuk Mata Kita, Mahjong Sedang Melakukan Pembangunan Besar Besaran Beginilah Caranya Agar Perputaran Selalu Stabil dan Membuat Mahjong Seru untuk Diperjuangkan Perbincangan yang Memberikan Esensi Kehidupan Mahjong dengan Datangnya Pola Wild Anti Kalah Host Livestreaming Sedang Menjadi Perbincangan, Dikarenakan Bermain Mahjong dengan Pecahan Besar Diketahui Bermain di SUHUBET Cerita Tukang Parkir Bandung Kagum Lihat Efek Wild Naga di Mahjong Ways Bangsawan SUHUBET Membeberkan Cara Kuasai Teknik Mahjong Dengan Pola Mudah Raup Untung 362 Juta Taktik Multiplier Spin Dengan Tingkatkan Pendapatan di Mahjong, Strategi Sederhana Seorang Penempa Besi Raup Untung 410 Juta Kecil-Kecil Jadi Bukit, Filosofi Putaran Mahjong Tentang Konsistensi dan Hasil yang Besar | Tips Putaran Receh Dikira Kurir Mengantar Paket di Pagi Hari, Ternyata Mengantarkan Simbol Wild 231 Juta di Mahjong kepada Nina Kronologi Jatuhnya Naga Black Scatter Pada Perputaran Gratis Mahjong, Ilham Menghasilkan 410 Juta Analisa Bocoran Data Mahjong Ways dan Pola Putaran RTP Terbaik Bikin Heboh Dunia Digital Observasi Data Menunjukkan Pola Mahjong Ways Muncul Seperti Gelombang Kebahagiaan Riset Pola Harian Mahjong Ways Ungkap Hubungan Menarik dengan Data Digital Pola RTP Tertinggi Ketika Statistik Menjadi Seni Analisis Mahjong Ways Ubah Cara Orang Melihat Pola Pada RTP Tertinggi Penjual Tahu Bulat Dadakan Dikagetkan Sama Pecahnya Wild Mahjong Wins 3 Dengan Membawakan 450 Juta Pemain Pro Dari Kota Madiun Berbagi Taktik Permainan Mahjong Wins 3 Yang Menghasilkan Berbagai Kemenangan Terbukti Ampuh, Suherman Menggunakan Pola Terlarang Permainan Mahjong Ways 3 Dengan Hasil 320.000.000 Rahasia Terbaru Pola Mahjong Ways 3 Terbongkar RTP98% Membawakan Wild Sebesar 410.000.000 Suli Dari Pemantang Siantar Membawakan Pola Terbaru Hasil Analisa Terbaru Mahjong Wins 3 Dengan Cara High Risk High Return Perpaduan Simbol Wild dan Scatter yang Menggemparkan Mahjong Ways 3, Bentuk Apresiasi Para Pemain Setiap SUHUBET Putaran 3 Manual dan 20 Auto Membuahkan Hasil, Pemain Bernama Kintami di Mahjong Ways 3 Ciptakan Momen yang Sangat Keren Pola Terbaru Diberi Nama ‘Harmony Data’ karena Ditemukan dari 1.200 Putaran Analisis oleh Komunitas SUHUBET Pola Unik Anak Bengkel Ini Bikin Komunitas Mahjong Ways 3 Terkejut, Disebut Punya Akurasi Tinggi Gelombang Wild Tak Biasa, Scatter Muncul Bersamaan Seperti Dipanggil oleh Pola Data Baru di Mahjong Ways 3 Fenomena Mahjong dan Pola Klik Digital yang Ternyata Punya Akurasi Tinggi di Tahun 2025 Mahjong 2025 Bukan Sekadar Game Tapi Fenomena Pola Data yang Sedang Diteliti Banyak Komunitas Pola Mahjong 2025 Disebut Lebih Stabil Banyak yang Kaget Melihat Hasil Analisis Digitalnya Pola Mahjong 2025 Jadi Sorotan Disebut Punya Irama Klik Unik yang Bikin Banyak Orang Penasaran Rahasia Pola Mahjong Mulai Terbongkar Komunitas Digital Temukan Pola Klik yang Tak Pernah Gagal Eksperimen Grid Staking 2–1–3–2 Versi Dimas UI, Tercatat Stabil 94,8% Dalam 50 Menit Pengujian Berlapis Fenomena Irama Scatter dari Tim Research Jogja, Ubah Cara Main Manual Jadi Auto Sync 4x Lebih Cepat Metode Pola Klik Ala Rani, Data Analyst Asal Bandung: Irama 1–2–1–3 Tembus Akurasi 96,2% Setelah 68 Menit Eksperimen Mandiri Model Data Wave Scatter dari Mahasiswa IT Malang Terbukti Bisa Aktifkan Wild Secara Bersamaan di Menit Ke-43 Pola Reverse Flow Buatan Komunitas Surabaya Diuji 15 Kali, Hasilnya Sinkron Dengan RTP PGSOFT 95,7% Tanpa Gangguan Server Investasi Rp50 Triliun Di KEK Galang-Batam Dorong Hilirisasi Bauksit dan Prospek Baru Bagi Masyarakat Kejaksaan Batam Ungkap Dugaan Korupsi Asuransi Aset PT Persero, Empat Tersangka Resmi Ditahan Menjelang Akhir Tahun, Harga Beras di Batam Terpantau Stabil Wali Kota Amsakar Pastikan Pasokan Aman Penyelundupan Sisik Trenggiling Senilai Rp1,2 Miliar Digagalkan di Pelabuhan Batam, Satu Tersangka Diamankan Warga Batam Siaga: BMKG Prediksi Hujan Petir & Gerimis Sepanjang Hari di Wilayah Kota Dari Bali Hingga Seoul, Tren Spa Ramah Lingkungan dan Filosofi Mahjong Ways Mulai Jadi Gaya Hidup Baru Di Balik Hening dan Aroma Kayu Manis: Pola Ketenangan yang Sama Seperti Saat Menemukan Irama di Mahjong Wins Gelombang Baru Wellness di Asia Pasifik: Saat Spa dan Pola Mahjong Wins Sama-Sama Bicara Tentang Kesabaran dan Irama Rahasia Di Balik Senyum Para Penerima APSWC 2025 Awards: Dari Pola Hidup Seimbang Hingga Filosofi Mahjong Ways Wellness Tak Lagi Sekadar Tren: Data Menunjukkan Pola Mahjong Ways dan Mindfulness Kini Jadi Arah Baru Dunia Cara Insting Tajam Menyusun Pola Simetris Baccarat Online Lewat Mekanisme yang Optimal Analisis Ganda Pemain Surabaya Baccarat Ternyata Mengikuti Irama Napas, Bukan Statistik Pemain Jakarta Temukan Pola Mahjong Wins 3 Lewat Catatan Harian Emosional, Buat Banyak Orang Terdiam Rahasia Tersembunyi Mahjong Ways Saat Waktu Bermain Jadi Faktor Penentu Pecahnya Pola yang Tak Pernah Diungkap Publik Strategi Terbalik Pemain Surabaya Berhenti Sebelum Scatter, Justru Dapat Pola Tertinggi Mahjong Ways 3 Analisis Pemain Bogor Buktikan Pola Stabil Muncul Setelah 9 Kali Gagal repository.tdjpublisher.com