-
Giá trị Null có tốn tài nguyên trong SQL SV
AnNguyen > 05-04-20, 04:36 PM
Trong bảng thiết kế của em có 1 số cột đôi khi mới cần phải gán giá trị nếu không sẽ được để trống là Null
Vậy nếu mình để giá trị Null hoặc 1 ký tự nào đó thì cái nào tốn tài nguyên hơn không ạ.
Em cảm ơn! -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
dotrung > 05-04-20, 05:03 PM
Bạn thêm hàm NZ() và IsNumeric() vào là ổn, mình cũng bị trường hợp này ở phần tính đơn giá tồn: DonGiaTon: IIf(IsNumeric([SoLuongTonCuoiKy]),[giabia],Nz([ThanhTienTonCuoiKy])/Nz([SoLuongTonCuoiKy])) -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
Noname > 05-04-20, 05:06 PM
(05-04-20, 04:36 PM)AnNguyen Đã viết: Trong bảng thiết kế của em có 1 số cột đôi khi mới cần phải gán giá trị nếu không sẽ được để trống là Null
Vậy nếu mình để giá trị Null hoặc 1 ký tự nào đó thì cái nào tốn tài nguyên hơn không ạ.
Em cảm ơn!
Ngay khi record được khởi tạo thì ô đó đã chiếm tài nguyên rồi, tài nguyên chiếm dụng đúng bằng size của field khi thiết kế. Vì vậy khi thiết kế, mình chỉ khai báo đúng size của field thôi. -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
AnNguyen > 05-04-20, 05:22 PM
Em cảm ơn mọi người ạ. -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
AnNguyen > 05-04-20, 07:41 PM
(05-04-20, 05:06 PM)Noname Đã viết: Ngay khi record được khởi tạo thì ô đó đã chiếm tài nguyên rồi, tài nguyên chiếm dụng đúng bằng size của field khi thiết kế. Vì vậy khi thiết kế, mình chỉ khai báo đúng size của field thôi.
Bác cho em hỏi thêm với ạ.
Vì ở Việt Nam luôn phải ghi chú bằng có dấu tiếng việt mà người thì ghi chú ngắn, người thì dài (dài do công việc)
Vậy làm sao em biết được thế nào mà xác định rõ field size đó ạ.
Vì vậy em toàn để nvarchar(max) thì có ổn không ạ. hay em phải thay đổi gì ạ.
Em cảm ơn -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
Noname > 05-04-20, 08:19 PM
à, riêng với kiểu nvarchar, nchar thì nó sẽ cấp phát tài nguyên sau khi nhập liệu nên bạn yên tâm khai báo max. -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
AnNguyen > 05-04-20, 08:24 PM
(05-04-20, 08:19 PM)Noname Đã viết: à, riêng với kiểu nvarchar, nchar thì nó sẽ cấp phát tài nguyên sau khi nhập liệu nên bạn yên tâm khai báo max.
Vâng em cảm ơn ạ.
Em vừa tìm ra 1 điều nữa cho em hỏi thêm với ạ.
Em có dùng điều kiện "WHERE format(ngay,'MMyyyy')='032020' và e so sánh với "WHERE ngay BETWEEN '2020-03-01' AND '2020-03-31'"
Thì có chỗ em thấy cách 2 load nhanh hơn cách 1.
Vậy có đúng không ạ. Và cho em xin thêm lời khuyên nếu như có cách khác xử lý tốt hơn với Date ạ.
Em cảm ơn nhiều ạ. -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
ongke0711 > 05-04-20, 09:25 PM
SQL Server xài ngày tháng dạng chuẩn quốc tế nên dữ liệu em lưu theo chuẩn nó sẽ tìm nhanh nhất.
Chuẩn: 'yyyymmdd'; 'yyyy-mm-dd'
Còn dạng em đưa vào SSV nó không hiểu, phải kiểm tra, qui đổi tùm lum nên chậm thôi. -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
mrsiro > 05-04-20, 09:33 PM
dĩ nhiên cách 2 tốt hơn rồi, để hiệu năng tốt hơn nữa thì nên dùng kiểu > '2020-02-29' and < '2020-04-01'. Cái món optimize query này nghiên cứu rất là thú vị. Có khi đổi cú pháp chút xíu đã đem lại hiệu năng tốt hơn rất nhiều. -
RE: Giá trị Null có tốn tài nguyên trong SQL SV
AnNguyen > 05-04-20, 09:44 PM
(05-04-20, 09:25 PM)ongke0711 Đã viết: SQL Server xài ngày tháng dạng chuẩn quốc tế nên dữ liệu em lưu theo chuẩn nó sẽ tìm nhanh nhất.
Vậy anh ơi.
Chuẩn: 'yyyymmdd'; 'yyyy-mm-dd'
Còn dạng em đưa vào SSV nó không hiểu, phải kiểm tra, qui đổi tùm lum nên chậm thôi.
Tham số em truyền vào là date từ vba thì nó tùy vào định dạng máy tính. Xong Proc xử lý nó.
Vậy e cũng phải convert luôn đầu vào thành 'yyyy-mm-dd' không hay là truyền thế kia vào nó cũng hiểu ạ?