Xử lý xung đột khóa chính trong cơ sở dữ liệu Dameng: So sánh MERGE và HINT IGNORE
Trong phát triển ứng dụng cơ sở dữ liệu, xử lý xung đột khóa chính là một vấn đề thường trực. Khi chèn dữ liệu trùng với bản ghi hiện có về khóa chính, ta cần quyết định hành động: bỏ qua, cập nhật hay báo lỗi?
Dameng Database (DM8) cung cấp hai cơ chế hiệu quả để giải quyết vấn đề này: câu lệnh MERGE INTO chuẩn SQL và chỉ dẫn IGNORE_ROW_ON_DU ...
Đăng vào ngày 4 tháng 10 lúc 14:48
MySQL Cơ bản: Truy vấn, Hàm, Liên kết Bảng và Giao dịch
1. Quản lý người dùng và quyền hạn
Để kiểm tra danh sách người dùng trong hệ thống MySQL:
USE mysql;
SELECT * FROM user;
Tạo người dùng mới với điều kiện truy cập từ máy chủ cụ thể hoặc bất kỳ đâu:
-- Người dùng 'cc' chỉ được phép đăng nhập từ localhost
CREATE USER 'cc'@'localhost' IDENTIFIED BY '1234';
-- Người dùng 'gg' có thể truy cập từ mọ ...
Đăng vào ngày 3 tháng 10 lúc 12:39
Sao Lưu và Phục Hồi Dữ liệu MySQL bằng SELECT INTO OUTFILE và LOAD DATA INFILE
Trong quản trị cơ sở dữ liệu MySQL, việc sao lưu và phục hồi dữ liệu là các tác vụ thiết yếu. Đối với những tập dữ liệu lớn hoặc khi cần di chuyển dữ liệu giữa các hệ thống, các lệnh SELECT INTO OUTFILE và LOAD DATA INFILE cung cấp một phương pháp hiệu quả và linh hoạt để xuất và nhập dữ liệu dưới dạng tệp văn bản.
Cấu hình MySQL Server
...
Đăng vào ngày 15 tháng 9 lúc 18:30
Khái niệm và cách sử dụng MyBatis trong ứng dụng Java
Giới thiệu về MyBatis
MyBatis là một framework bền vững (persistent layer) hỗ trợ truy vấn SQL thông thường, xử lý stored procedure và ánh xạ nâng cao. Nó giúp loại bỏ hầu hết các đoạn mã JDBC thủ công như thiết lập tham số, truy xuất kết quả từ ResultSet. Với cấu trúc đơn giản dựa trên XML hoặc annotation, MyBatis cho phép ánh xạ trực tiếp giữ ...
Đăng vào ngày 12 tháng 9 lúc 18:05
Cấu Hình Đồng Bộ Hóa MySQL Sử Dụng Cơ Chế Master-Slave
1. Thiết Lập Tiền Đề Trên Hai Máy Chủ
Trước khi triển khai quy trình nhân bản dữ liệu, cần chuẩn bị môi trường cho cả nút chính (Master) và nút phụ (Slave) như sau:
Đồng bộ phiên bản: Cài đặt cùng một bản phát hành MySQL để đảm bảo tương thích hoàn toàn.
Kích hoạt dịch vụ: Đảm bảo MySQL đang chạy ổn định ở chế độ nền.
Bảo mật Root: Đổi mới mật ...
Đăng vào ngày 12 tháng 9 lúc 14:55
Sắp xếp phân cấp danh mục trong MySQL với MyBatis-Plus
Khi làm việc với dữ liệu phân cấp như danh mục sản phẩm, menu đa cấp, việc truy vấn và sắp xếp theo thứ tự cha-con là một yêu cầu phổ biến. Bài viết này trình bày cách giải quyết vấn đề này trong MySQL kết hợp với MyBatis-Plus.
Vấn đề cần giải quyết
Giả sử có bảng category lưu trữ danh mục xe hơi:
id | parent_id | name
----|-----------|---- ...
Đăng vào ngày 27 tháng 8 lúc 08:22
Tìm hiểu quy trình xử lý truy vấn SELECT trong MySQL
Khi một câu lệnh SQL SELECT được gửi đến máy chủ MySQL, nó sẽ trải qua một loạt các giai đoạn xử lý phức tạp trước khi trả về kết quả cho người dùng. Việc hiểu rõ quy trình này giúp tối ưu hóa hiệu suất truy vấn và khắc phục sự cố.
1. Tiếp nhận truy vấn và theo dõi trạng thái
Khi một máy khách gửi một truy vấn SELECT, MySQL sẽ giao nhi ...
Đăng vào ngày 26 tháng 8 lúc 05:43
Thao tác cơ bản với CSDL: Tạo, Đọc, Sửa, Xóa
Khái niệm CRUD trong quản lý cơ sở dữ liệu
CRUD là tập hợp bốn thao tác cốt lõi trong hệ thống quản lý cơ sở dữ liệu, đại diện cho các hành động chính khi làm việc với dữ liệu:
C (Create) – Tạo mới dữ liệu: thêm bản ghi vào bảng.
R (Read) – Đọc dữ liệu: truy xuất thông tin từ bảng.
U (Update) – Cập nhật dữ liệu: chỉnh sửa giá trị của bản ghi đ ...
Đăng vào ngày 25 tháng 8 lúc 16:34
Hướng dẫn cài đặt PostgreSQL trên Linux
PostgreSQL là một hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng (ORDBMS) mã nguồn mở, mạnh mẽ và có nhiều tính năng. Nó hỗ trợ hầu hết các chuẩn SQL và cung cấp các tính năng hiện đại như truy vấn phức tạp, khóa ngoại, trigger, view, tính toàn vẹn giao dịch và kiểm soát truy cập đa phiên bản. PostgreSQL cũng có khả năng mở rộng cao thông qua ...
Đăng vào ngày 24 tháng 8 lúc 09:23
Kỹ thuật Lazy Loading và Cơ chế Cache trong MyBatis
1. Cơ chế Tải chậm (Lazy Loading)
Trong MyBatis, resultMap hỗ trợ ánh xạ nâng cao thông qua các thẻ association (quan hệ 1-1) và collection (quan hệ 1-nhiều). Cả hai thẻ này đều tích hợp tính năng Lazy Loading (tải chậm), giúp tối ưu hiệu suất bằng cách chỉ truy vấn dữ liệu liên quan khi thực sự cần thiết.
Giả sử chúng ta có nhu cầu truy vấn t ...
Đăng vào ngày 15 tháng 8 lúc 17:22