thắc mắc Cách tối ưu query cho query sql?

  • Người tạo chủ đề Người tạo chủ đề thaihiep
  • Ngày bắt đầu Ngày bắt đầu

thaihiep

Senior Member
Với kinh nghiệm và kiến thức của em thì khi gặp vấn đề performance sql query em sẽ xử lý như sau:

  • thường phổ biến nhất là dùng index
  • nolock
  • với mấy cái rule khi viết sql như tránh select *, tránh union, tránh nested select
  • hoặc dùng store procedure nếu query đó chạy nhiều lần

Mấy thím có solution nào khác chỉ giúp em với?
 
1637225867699.png


Có đáng bao nhiêu đâu :shame:
 
Với kinh nghiệm và kiến thức của em thì khi gặp vấn đề performance sql query em sẽ xử lý như sau:

  • thường phổ biến nhất là dùng index
  • nolock
  • với mấy cái rule khi viết sql như tránh select *, tránh union, tránh nested select
  • hoặc dùng store procedure nếu query đó chạy nhiều lần

Mấy thím có solution nào khác chỉ giúp em với?
partition/sharding table database, hoặc cố gắng design database cho nó đẹp, normalize ...
 
Nếu nhu cầu lấy lớn view ra người dùng thì có paging => hợp lý
Còn 1 số yêu cầu khác như reporting, hay xử lý phân tích data thì tập data lấy ra rất lớn
Lớn thì cũng nên batch processing chứ nhỉ, kéo từng lô 1000 records ra xử lý xong lấy lô khác, chứ lấy hết lên rồi mới đẩy đi thì RAM đâu cho đủ :D
 
ok. thanks thím. Em hiểu rồi :LOL: vậy thực tế có ngoại lệ nào không thím.
Ngoại lệ là thím xử lý dữ liệu trong store procedure hay trực tiếp trong câu truy vấn thì thoải mái đi, vì nó thực hiện trên chính server SQL và nó tự tối ưu hóa bên dưới rồi. Mình chưa đọc code nhưng đoán nó cũng batch processing thôi.
 

Thống kê chủ đề

Ngày tạo
thaihiep,
Người trả lời cuối
Mr.6,
Trả lời
198
Lượt xem
36.660
Quay lại
Lên đầu trang