cuốn sách gpt4 ai đã làm

c# - Bảng thư trong SQL: Chia hay không chia?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 19:24:50 29 4
mua khóa gpt4 Nike

Tôi có một bảng lưu trữ email Thư(Ai mà ngờ được... ;)).

bởi Tinyint Trạng thái thư, Tôi quyết định xem đây là SentMail, Draft hay AcceptedMail.

Bây giờ tôi thắc mắc Table-Split có phù hợp hơn không, nói có:

Đã gửi email

Bản nháp email

đã nhận được thư

Thay thế cờ tinyint của MailStatus.

Nhưng điều này cũng có nghĩa là tôi cần di chuyển các hàng (chèn vào một bảng, xóa trong bảng khác) khi người dùng xóa hoặc di chuyển thư, thay vì chỉ chuyển đổi giá trị int.

Bạn nghĩ gì về điều này?

câu trả lời hay nhất

Từ góc độ mã, việc xử lý các enum đơn giản hơn nhiều so với việc xử lý các loại khác nhau.

Từ góc độ cơ sở dữ liệu, lý do lưu trữ dữ liệu rất giống nhau trong các bảng khác nhau là:

  • Vấn đề về hiệu suất
  • Vấn đề về kích thước (bảng đơn trở nên quá lớn)
  • Các vấn đề về tiêu chuẩn hóa cơ sở dữ liệu (giá trị null của trường SentDateTime, v.v.)

Trong hầu hết các trường hợp, bạn sẽ không bao giờ gặp phải bất kỳ vấn đề nào về kích thước/hiệu suất, vì vậy câu hỏi đặt ra là bạn cần chuẩn hóa dữ liệu của mình đến mức nào. Nếu bạn thực sự không quan tâm đến nó, đừng làm cho nó phức tạp hơn nữa:Giữ nó trong một bảng và sử dụng enum (int) trong bảng để phân biệt các trạng thái.

Về danh sách gửi thư trong c# - SQL: Tách hay không tách?, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/9567115/

29 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress