(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ(Đề tài NCKH) Nghiên cứu các phương pháp tổ chức, tối ưu khai thác dữ liệu trong cơ sở dữ liệu đào tạo tín chỉ
Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC THƯƠNG MẠI ============ BÁO CÁO ĐỀ TÀI NCKH CẤP TRƯỜNG NGHIÊN CỨU CÁC PHƯƠNG PHÁP TỔ CHỨC, TỐI ƯU KHAI THÁC DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU ĐÀO TẠO TÍN CHỈ Chủ nhiệm đề tài: Hồng Ngọc Cảnh Đơn vị: Trung tâm Công nghệ thông tin Hà Nội, 3/2019 ThS Hồng Ngọc Cảnh – TT Cơng nghệ thông tin Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU DANH MỤC TỪ VIẾT TẮT CHƯƠNG TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI Tính cấp thiết nghiên cứu đề tài Tổng quan đề tài nghiên cứu Mục tiêu nghiên cứu 10 Đối tượng phạm vi nghiên cứu 10 Phương pháp nghiên cứu 11 Kết cấu báo cáo nghiên cứu 11 CHƯƠNG 2: LÝ THUYẾT VỀ THIẾT KẾ VÀ TỐI ƯU HÓA HIỆU NĂNG CƠ SỞ DỮ LIỆU 13 Tổng quan sở liệu 13 1.1 Các khái niệm liên quan 13 1.2 Kiến trúc hệ thống CSDL 16 1.3 Lược đồ thể CSDL 17 1.4 Mơ hình liệu 18 1.5 Một số dạng chuẩn CSDL 20 Các vấn đề liên quan tới hiệu sở liệu cách giám sát 25 2.1 Một số vấn đề liên quan tới hiệu sở liệu 25 2.2 Công cụ giám sát cảnh báo sớm hiệu CSDL 26 Các phương pháp tối ưu hóa sở liệu mức vật lý 28 3.1 Nội dung thiết kế tệp vật lý sở liệu vật lý 28 3.2 Thiết kế trường 32 3.3 Thiết kế ghi vật lý 35 3.4 Thiết kế file vật lý 36 3.5 Ví dụ thiết kế file 42 4.1 Tối ưu tổ chức liệu 43 4.2 Tối ưu viết lệnh truy vấn 46 CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ MỘT SỐ GIẢI PHÁP TỐI ƯU HÓA TRÊN CƠ SỞ DỮ LIỆU TTN TRONG QUẢN LÝ ĐTTC 50 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC 58 Phụ lục 1: Một số định nghĩa liên quan đến dạng chuẩn 58 ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 Phụ lục 2: Ví dụ file sau tiến hành thiết kế vật lý 61 ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 DANH MỤC HÌNH VẼ Hình 1: Hệ sở liệu 15 Hình 2: Kiến trúc mức CSDL 16 Hình 3: Ví dụ CSDL quản lý trình học tập sinh viên 17 Hình 4: Ví dụ lược đồ 18 Hình 5: Ví dụ thể CSDL 18 Hình 6: Ví dụ quan hệ chưa dạng chuẩn 21 Hình 7: Ví dụ quan hệ chuẩn hóa dạng chuẩn 21 Hình 8: Ví dụ quan hệ chuẩn hóa dạng chuẩn 22 Hình 9: Ví dụ quan hệ không đạt chuẩn BCNF 24 Hình 10: Ví dụ quan hệ chuẩn hóa dạng BCNF 25 Hình 11: CPU performance bottlenecks command checks 26 Hình 13: Sử dụng Retrace APM hiển thị mức độ truy vấn chương trình 27 Hình 14: Sử dụng SQL Server Profiler giám sát hệ thống 27 Hình 15: Tổ chức file theo kiểu 39 Hình 16: Tổ chức file theo kiểu băm 40 Hình 17: Tổ chức file theo mục 41 Hình 18: Chứng từ đơn đặt hàng 42 Hình 19: Chứng từ phiếu giao hàng 43 Hình 20: Lược đồ sở liệu thi trắc nghiệm học phần 51 Hình 21: Cấu trúc bảng tblSinhVienLopHocPhanDeThi 54 Hình 22: Kết sau đặt Non_Clustered_Index 55 Hình 23: So sánh hiệu truy vấn bảng có Non_Clustered_Index 55 DANH MỤC BẢNG BIỂU Bảng 1: Bảng mô tả trường 31 Bảng 2: Bảng đặc tả tiêu biểu thiết kế ghi 31 Bảng 3: Bảng đặc tả tiêu biểu thiết kế file 32 Bảng 4: Bảng đặc tả tiêu biểu thiết kế CSDL 32 Bảng 5: Một số kiểu liệu Microsoft Access SQL Server 33 Bảng 6: Bảng so sánh cách tổ chức file khác 42 Bảng 7: Bảng lưu trữ thông tin khách hàng 61 Bảng 8: Bảng lưu trữ thơng tin hàng hóa 61 Bảng 9: Bảng lưu trữ thông tin đơn hàng 61 Bảng 10: Bảng lưu trữ thơng tin dịng đơn hàng 61 Bảng 11: Bảng lưu trữ thông tin phiếu giao hàng 61 Bảng 12: Bảng lưu trữ thông tin dòng phiếu giao hàng 61 ThS Hồng Ngọc Cảnh – TT Cơng nghệ thơng tin Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 DANH MỤC TỪ VIẾT TẮT DANH MỤC TỪ VIẾT TẮT TIẾNG VIỆT STT Từ viết tắt Cụm từ đầy đủ CSDL Cơ sở liệu NSD Người sử dụng QT CSDL Quản trị sở liệu TTN Thi trắc nghiệm ĐTTC Đào tạo tín DANH MỤC TỪ VIẾT TẮT TIẾNG ANH STT Từ viết tắt Cụm từ đầy đủ Nghĩa Tiếng Việt ER Entity Relationship Thực thể liên kết NF Normal Form Dạng chuẩn OLTP Online Transaction Processing Xử lý giao dịch trực tuyến OLAP Online Analysis Processing Xử lý phân tích trực tuyến ThS Hồng Ngọc Cảnh – TT Cơng nghệ thông tin Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 CHƯƠNG TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI Tính cấp thiết nghiên cứu đề tài Thiết kế, tổ chức tối ưu khai thác liệu chủ đề quan trọng hầu hết nghiên cứu, diễn đàn trao đổi sở liệu Trong thời đại ngày nay, mà thứ số hóa, quản lý máy tính hệ quản trị sở liệu nhiệm vụ tổ chức tối ưu liệu trở thành công việc hàng ngày nhà quản trị lập trình viên sở liệu Về nguyên lý, tất toán trước đưa vào quản lý máy tính khảo sát, phân tích, thiết kế chuẩn mực để tạo nên hệ thống thông tin quản lý ổn định Tuy nhiên việc khảo sát phân tích nhiều mang tính chất đáp ứng nhanh công việc nhằm đẩy nhanh tiến độ xây dựng hệ thống quản lý, điều khiến cho sở liệu thiếu tính chuẩn hóa thiếu tính mở rộng nên đưa vào hoạt động thực tế phát sinh nhu cầu giải Và tiếp tục theo cách xử lý “đặt giải vấn đề trước mắt lên hết” sở để quản trị viên, lập trình viên bổ sung sửa đổi đối tượng, thực thể, quan hệ sở liệu cách tùy ý để thuận lợi cho công việc trước mắt Về lâu dài, việc làm sở liệu (CSDL) ngày phi chuẩn khó bảo trì Bên cạnh đó, việc sử dụng CSDL q lâu mà khơng có biện pháp lưu – bảo trì làm số lượng ghi ngày tăng, bảng quan hệ vòng, dư thừa liệu phi chuẩn làm giảm đồng bộ, lệnh truy vấn chậm chạp tải dẫn đến nguy sụp đổ hệ thống thông tin quản lý Rõ ràng việc tìm giải pháp tổ chức truy vấn liệu tối ưu vô cần thiết tất giai đoạn khảo sát, thiết kế, vận hành sở liệu Ở thời điểm hoạt động, người quản trị viên cần có biện pháp kỹ thuật phù hợp để đánh giá tái tổ chức liệu, khai thác liệu nguyên tắc giảm tối thiểu việc lập trình lại chức phần mềm, tác động nên nằm sở liệu Đối với sở liệu quan hệ áp dụng toán quản lý (quản lý bán hàng, quản lý nhân sự, kế tốn, thiết bị, …) lượng thơng tin giao dịch (thêm sửa xóa) thường xuyên lớn, đặc biệt hệ thống báo biểu (hóa đơn, báo cáo tài chính,…) trích xuất từ sở liệu có tính tổng hợp cao, tính tốn nhiều khoảng thời gian phát sinh liệu, bên cạnh thuật toán hiệu để lấy liệu phương pháp, kỹ thuật tổ chức, truy vấn T-SQL đóng vai trị quan trọng giúp cải thiện đáng kể hiệu hệ thống Một hệ thống tốt hệ thống sẵn sàng đáp ứng nhu cầu người dùng hạ tầng tối thiểu, qua thấy việc xử lý tối ưu sở liệu quan trọng nhiều với việc tăng cường lực hạ tầng (mạng, máy chủ, hệ điều hành…) Trong số toán quản lý nêu trên, toán quản lý đào tạo theo tín tảng sở liệu quan hệ xếp vào nhóm cần thường xuyên bảo trì ThS Hồng Ngọc Cảnh – TT Cơng nghệ thơng tin Báo cáo đề tài nghiên cứu khoa học cơng nghệ cấp trường 2019 nâng cấp, theo thiết kế ban đầu sở liệu đào tạo tín hầu hết đáp ứng nhu cầu quản lý trước mắt sở đào tạo, thông số sở liệu tuân theo quy chế đào tạo tín Bộ giáo dục Đào tạo Tuy nhiên nghiệp vụ đào tạo sở có đặc thù riêng sở giáo dục ln có thay đổi nâng cấp yêu cầu quản lý để phù hợp với phát triển định hướng họ, lý khiến cấu trúc sở liệu bị can thiệp thường xuyên, đặc biệt số lượng ghi sinh viên, ghi điểm, ghi lớp học phần,… liên tục gia tăng qua học kỳ, việc tổ chức cho phép người dùng giới hạn liệu chiết xuất, tối ưu đoạn mã lệnh trở nên cần thiết Tại Việt Nam, hầu hết trường đại học theo xu hướng phát triển ứng dụng công nghệ thông tin quản lý đào tạo theo tín từ sớm Các trường mua tự xây dựng hệ thống phần mềm quản lý riêng cho với module chức hệ đào tạo quy (trong sở liệu module quan trọng nhất), hàng loạt module quản lý cho hệ đào tạo khác như: sau đại học, nghiên cứu sinh, chức, đào tạo quốc tế Các module liên tục bổ sung chỉnh sửa qua học kỳ dẫn đến Cơ sở liệu ban đầu ngày lớn phức tạp hơn, cụ thể như: nhiều thực thể hơn, nhiều quan hệ hơn, nhiều liệu hơn; nhiều chức hơn; nhiều hàm – store – view hơn; đặc biệt nhiều bảng phụ - bảng trung gian để phục vụ lưu trữ tính tốn Điều dẫn đến vấn đề hệ thống bị chậm sinh viên đăng ký, tải nhập điểm, nhập học, chí đơi gây sai xót mặt liệu Rõ ràng vấn đề rà sốt bảo trì liên tục thường xuyên áp dụng biện pháp tối ưu thiết kế, tối ưu truy vấn vô cần thiết để giúp hệ thống thông tin nhà trường doanh nghiệp hoạt động ổn định, hiệu Từ tình hình thực tế nhu cầu đó, chọn đề tài “Nghiên cứu phương pháp tổ chức, tối ưu khai thác liệu sở liệu đào tạo tín chỉ” để nghiên cứu với kỳ vọng nghiên cứu kỹ thuật thực tiễn ứng dụng nhanh chóng bền vững giúp sở liệu đào tạo tín cho hệ đào tạo Nhà trường ngày tối ưu hiệu Tổng quan đề tài nghiên cứu Tổng quan đề tài nghiên cứu nước Ngày nay, hầu hết lĩnh vực sống ứng dụng quản lý số đặc biệt việc ứng dụng phần mềm quản lý liệu tảng hệ quản trị sở liệu quan hệ Trong xu hướng này, trường Đại học nói chung Đại học Thương mại nói riêng quan tâm đầu tư cho hệ thống sở liệu đào tạo (chủ yếu đào tạo tín chỉ) Các hệ thống thiết kế chặt chẽ theo quy chế đào tạo tín Bộ giáo dục & Đào tạo quy định, kết hợp với tính chất riêng Nhà ThS Hồng Ngọc Cảnh – TT Cơng nghệ thơng tin Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 trường Tuy nhiên, quy định đào tạo Quy chế đưa vào thực tiễn cần có nhiều tùy biến cho phù hợp với đặc thù sở đào tạo, điều tạo thiếu thống mặt thiết kế, quy chuẩn khai thác sở liệu đào tạo Có nhiều cơng trình nghiên cứu mang tính lý thuyết tính ứng dụng kỹ thuật tổ chức, tối ưu liệu thực Việt Nam Các nghiên cứu thường phân chia theo hai hướng: Thứ nhất, nghiên cứu theo hướng lý thuyết chung việc tổ chức, thiết kế tối ưu truy vấn liệu hệ quản trị sở liệu (đặc biệt hệ quản trị sở liệu quan hệ) Các công trình nghiên cứu thường đa dạng dạng thức sách chuyên khảo, tham khảo, giáo trình, giảng, cụ thể như: Theo (Nguyễn Thị Thu Thủy cộng sự, 2015) hay (Hồ Thuần - Hồ Cẩm Hà, 2009; Nguyễn Kim Anh – 2008; Phương Lan - 2007) có cơng trình hình thức sách - giáo trình, tài liệu khái q hóa mức lý thuyết chung nguyên lý thiết kế, chuẩn hóa khai thác liệu sở liệu quan hệ Các tài liệu có ví dụ để người đọc (chủ yếu đối tượng sinh viên) nắm bắt quy trình, kỹ thuật phân tích thiết kế sở liệu, nhiên chưa có tốn quản lý liệu mang tính chất tồn diện hay tình cố liên quan tới việc đánh giá hiệu giải pháp xử lý thực tế Có thể nói, tài liệu định hướng vào việc cung cấp kiến thức tảng nhiều việc nâng cao kỹ thuật thiết kế, tổ chức tối ưu khai thác liệu Theo (Nguyễn Văn Dũng, 2012) thực luận văn “Tối ưu hóa truy vấn sở liệu phân tán” tác giả việc bùng nổ liệu khiến nhà quản trị phải quan tâm đến hiệu khai thác liệu Qua đó, tác giả trình bày số phương pháp thuật toán việc tối ưu câu lệnh truy vấn, phương pháp dừng mức lý thuyết chưa thực kiểm nghiệm sở liệu lớn có thật Thứ hai, nghiên cứu theo hướng thực nghiệm rõ ràng hệ quản trị sở liệu cụ thể SQL SERVER, ORACLE, MY SQL, DB2,…Các cơng trình định hướng chủ yếu vào việc sử dụng độc lập hay kết hợp kỹ thuật chuẩn hóa với phi chuẩn hóa; đưa ví dụ cụ thể việc tối ưu lệnh truy vấn T SQL bối cảnh khác Hầu hết nghiên cứu, tài liệu theo hướng xuất diễn đàn, hội thảo trực tuyến chuyên sở liệu Cụ thể số tài liệu sau: Theo (Trung tâm tin học khoa học tự nhiên, 2018) cách tối ưu sở liệu Hệ quản trị sở liệu SQL Server từ trải nghiệm thực tế Bài viết nêu cụ thể kỹ thuật ý nghĩa chúng ví dụ, nhiên đơn phương pháp xử lý sau thiết kế tổ chức sở liệu Theo (Lê Hồng Chương, 2014) lại có cách khác việc tiếp cận xử lý tối ưu câu lệnh truy vấn Tác giả tập trung việc phân tích câu lệnh sở toán học (đại số quan hệ) để tìm cách giản lược câu truy vấn Phương pháp khó, nhiều thời gian câu truy vấn phức tạp Hơn nữa, tận dụng nhiều cơng nghệ ThS Hồng Ngọc Cảnh – TT Công nghệ thông tin Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 tối ưu đặc thù khác hệ quản trị sở liệu thay phải cố gắng phân tích góc độ tốn học để tối ưu Việc phân tích tối ưu đại số quan hệ lại phụ thuộc nhiều vào việc sở liệu phải chuẩn hóa cấp độ định, rõ ràng điều không phù hợp toán lớn, mà nhà thiết kế, quản trị sở liệu phải chấp nhận phi chuẩn hóa để đổi lấy tốc độ đơn giản lập trình triển khai Theo (Đặng Quốc Hữu, Hoàng Ngọc Cảnh - 2008-2010) thực hàng loạt đề tài nghiên cứu khoa học dự án nghiên cứu triển khai liên quan tới việc “Xây dựng nâng cấp hệ thống phần mềm sở liệu đào tạo tín chỉ” Các cơng trình tập trung vào vấn đề xây dựng thiết kế sở liệu đào tạo tín theo hướng thuận lợi để ứng dụng ngay, phù hợp với bổi cảnh Trường ĐH Thương mại, bước đầu số hóa liệu đào tạo Vì kỹ thuật thiết kế nhiều bước thiếu chuẩn hóa, câu lệnh khai thác mức chạy đủ chạy liệu mà chưa tập trung tối ưu tốc độ, nhớ Hệ bối cảnh liệu đào tạo ngày lớn, thiết kế truy vấn liệu nói bộc lộ nhiều điểm yếu Tổng quan đề tài nghiên cứu ngồi nước Tối ưu hóa việc tổ chức khai thác liệu sở liệu chủ đề mới, nhiên tổ chức, tập đồn cơng nghệ quản trị viên khắp giới ln khơng ngừng tìm hiểu phương pháp, kỹ thuật ngày tốt để phù hợp với vơ số tốn quản lý thực tiễn Chỉ với vài từ khóa Optimize Data, Improve Query hay Database Normalization mạng Internet, nhận hàng ngàn kết liên quan tới việc tổ chức tối ưu hóa liệu, qua thấy thực nhánh nghiên cứu quan trọng lĩnh vực quản trị liệu số Theo Craig S Mullins chuyên gia quản trị liệu, hiệu sở liệu phụ thuộc vào hàng loạt yếu tố cấu trúc sở liệu, tham số vật lý - logic liên quan tới đối tượng mà liệu mô Tuy nhiên nghiên cứu tác giả đăng searchoracle.techtarget.com tập trung vào vấn đề Partionning Indexing mà chưa quan tâm đến việc tổ chức, phân tích chuẩn hóa thực thể liệu phương pháp tối ưu viết lệnh truy vấn Theo Martin Goodwell thành viên Dynatrace Innovation Lab, năm bước tổng quát để tối ưu hóa sở liệu bất kỳ, bao gồm: kiểm tra máy chủ chứa sở liệu, đối tượng sử dụng liệu, vấn đề cân tải đáp ứng dịch vụ sử dụng liệu, số lượng kết nối đồng lúc tới sở liệu cuối hạ tầng mạng cho sở liệu Với cách tiếp cận này, tác đặt mặc định sở liệu có sẵn quan tâm tới môi trường lý tưởng để triển khai sở liệu mà chưa có hướng dẫn tới việc cải thiện hiệu nội sở liệu Theo Rodrigo Koch nhà phát triển phần mềm ứng dụng – làm việc Samsung Latin America, có nghiên cứu cụ thể SQL Database Performance Tuning Trong nhiều phương pháp tối ưu cụ thể với góc ThS Hồng Ngọc Cảnh – TT Công nghệ thông tin Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 nhìn lập trình viên người quản trị Database Những nội dung chủ tập trung vào tối ưu câu lệnh T-SQL, chưa quan tâm tới phân tích thiết kế sở liệu Trong thực tế, vấn đề tổ chức tối ưu hóa khai thác liệu giải theo nhiều phương pháp khác Trong đó, có hai hướng tiếp cận chính: hướng tiếp cận tối ưu tổ chức thiết kế thực thể hướng tiếp cận áp dụng công nghệ đặc thù hệ quản trị liệu – áp dụng kỹ thuật tối ưu lệnh truy vấn – nâng cao hạ tầng triển khai sở liệu Hướng tiếp cận tối ưu tổ chức thiết kế thực thể: bao gồm phương pháp: thiết kế lược đồ liệu (Database schema - ERD); chuẩn hóa liệu (Normalization) phi chuẩn hóa liệu (Denormalization) Các phương pháp lý thuyết kinh điển thiết kế sở liệu mà nhiều sách trình bày, ví dụ như: Pro SQL Server 2012 Relational Database Design and Implementation - Louis Davidson, Jessica M.Moss; Fundamentals of Database Systems - Ramez Elmasri, Shamkant B Navathe;… Hướng tiếp cận áp dụng công nghệ đặc thù hệ quản trị liệu – áp dụng kỹ thuật tối ưu lệnh truy vấn – nâng cao hạ tầng triển khai sở liệu: Các kỹ thuật tạo mục tìm kiếm (Indexing); Kế hoạch thực thi lệnh (Execution Plans); Chống lặp lệnh truy vấn, truy vấn lồng (Avoid Correlated SQL Subqueries); Sử dụng biến tạm, bảng tạm (Temporary Tables, Variables), Phân mảnh ghi (Partionning),… Các nội dung theo hướng dễ ứng dụng có tính thực tiễn cao, phù hợp cho lập trình viên nhà quản trị liệu Tài liệu theo hướng tiếp cận phong phú, dễ tìm kiếm, cụ thể tham khảo hàng loạt website chia sẻ cơng nghệ uy tín giới như: CodeProject.net, Toptal.com; Searchoracle.techtarget.com; Jaxenter.com,… Mục tiêu nghiên cứu Đề tài nghiên cứu tổng quan kỹ thuật tổ chức, tối ưu truy vấn liệu quản trị sở liệu quan hệ Tập trung chi tiết vào phân tích cấu trúc sở liệu đào tạo tín Đại học Thương mại, áp dụng phương pháp tối ưu hóa bó lệnh khai thác liệu Database này, cụ thể: Tổng quan phương pháp thiết kế, chuẩn hóa tối ưu hóa câu lệnh T-SQL sở liệu quan hệ Tổ chức lại thực thể áp dụng tối ưu hóa số nhóm store lấy liệu quan trọng Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Một số phương pháp thiết kế tổ chức sở liệu như: Thiết kế logic, Thiết kế vật lý Một số kỹ thuật tối ưu liệu: Indexing, Execute Plan, Partioning, Sub Query,… ThS Hoàng Ngọc Cảnh – TT Công nghệ thông tin 10 Báo cáo đề tài nghiên cứu khoa học công nghệ cấp trường 2019 - Hạn chế việc viết thực thi câu truy vấn động viết mã truy vấn chương trình Thay vào viết thực thi trực tiếp môi trường sở liệu thông qua cửa sổ viết T-SQL, View, Stored, Functions - Hiểu chế thứ tự thực lệnh Select, Join, Where, Group, Having, Distinct, Contrains, Top,… đặc biệt hiểu cách thức mà công cụ tối ưu sở liệu chọn lựa thứ tự thực thi mệnh đề điều kiện câu lệnh - Nên dùng Constraints thay cho Triggers, Constraints hiệu Triggers giúp tăng tốc việc thực Vì vậy, bạn nên dùng Constraints thay cho Triggers - Dùng table variables thay dùng temporary tables Table variables yêu cầu tài nguyên locking logging temporary tables Vì vậy, Table variables nên dùng - Nên dùng câu lệnh UNION ALL thay cho UNION, Câu lệnh UNION ALL nhanh UNION, câu lệnh UNION ALL khơng tìm dịng liệu trùng cịn UNION tìm dịng liệu trùng cho dù trùn có hay khơng - Nên tránh dùng mệnh đề DISTINCT, Bởi dùng mệnh đề DISTINCT kết thực thi chậm Bạn nên dùng mệnh đề cần thiết - Tránh dùng Cursor SQL Server, Dùng Cursor SQL Server dẫn đến kết làm giảm tốc độ so với câu lệnh Select Cố gắng dùng câu Select lồng dùng bảng tạm muốn bạn muốn thao tác dòng liệu - Nên tránh dùng mệnh đề HAVING, Mệnh đề HAVING dùng để giới hạn bớt kết trả mệnh đề GROUP BY Khi dùng mệnh đề GROUP BY với mệnh đề HAVING, mệnh đề GROUP BY chia tất dòng thành tập hợp gồm nhiều tập hợp dịng giá trị Khi đó, mệnh đề HAVING hạn chế kết xuất khơng mong muốn tập hợp Trong nhiều trường hợp, ta viết câu lệnh SELECT mà có mệnh đề WHERE, GROUP BY khơng cần mệnh đề HAVING Cách viết cải thiện tốc độ câu truy vấn bạn - Nếu muốn lấy tổng số dòng bảng, nên thay cách dùng câu lệnh thông thường Select count(*) Bởi vì, câu lệnh Select count(*) yêu cầu thực quét toàn bảng kết tổng số dòng Điều nhiều thời gian bảng chứa liệu lớn Có cách khác để xác định tổng số dòng bảng Bạn dùng bảng hệ thống là: sysindexes trường hợp Có cột tổng số dịng trong bảng Cột chứa tổng số dòng cho bảng ThS Hồng Ngọc Cảnh – TT Cơng nghệ thơng tin 47 Báo cáo đề tài nghiên cứu khoa học cơng nghệ cấp trường 2019 sở liệu.Vì bạn dùng câu lệnh sau thay dùng câu lệnh SELECT COUNT(*) - Thêm câu lệnh SET NOCOUNT ON vào Stored Procedures để dừng thông báo số dòng thực thi câu lệnh T-SQL Điều làm giảm giao dịch mạng, máy khách khơng nhận thơng báo số dịng bị tác động câu lệnh TSQL - Nên dùng mệnh đề WHERE để hạn chế bớt kết truy vấn Điều mang lại kết tốt cho truy vấn Bởi SQL trả dịng cụ thể cho máy khách, khơng phải tất dịng bảng Điều làm giảm giao dịch qua mạng tăng tốc câu lệnh truy vấn - Dùng câu lệnh với từ khóa TOP câu lệnh SET ROWCOUNT bạn muốn kết trả n dịng Điều cải thiện tốc độ truy vấn, tập kết trả trả Điều giảm bớt giao dịch máy máy trạm - Cố gắng hạn chế tập kết truy vấn việc trả cột cụ thể từ bảng, tất cột bảng Nếu làm việc thực thi nhanh SQL Server trả cột cụ thể, tất cột bảng Nó giảm bớt giao dịch mạng tăng tốc câu lệnh truy vấn - Sử dụng TRANSACTION thích hợp, khơng cho người dùng tương tác vào transaction thực - Cố gắng hạn chế sử dụng toán tử sau mệnh đề WHERE: "IS NULL", "", "!=", "!>", "!