Avatar
1
Thân Nam Teacher
Thân Nam Teacher
Getting @Scheduled cron value from database
Em chào mọi người <p> </p> <p> Em đang làm lấy giá trị cron @Scheduled từ cơ sở dữ liệu để làm job tự động vào thời gian cố định, thời gian được lấy từ csdl em muốn hỏi là làm sao để cấu hình lấy được thời gian từ csdl đó em cảm ơn! </p> <p> </p> <p> &nbsp; </p>
Answer
Avatar
0
tvd12 Enlightened
tvd12 Enlightened
Sự khác biệt giữa Join Where và Join And
Cho 2 bảng thế này: <p> </p> <pre> CREATE TABLE `facebook` ( `name` varchar(45) NOT NULL, `city` varchar(45) DEFAULT NULL, PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE `linkedin` ( `name` varchar(45) NOT NULL, `city` varchar(45) DEFAULT NULL, PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; </pre> <p> </p> <p> Với dữ liệu thế này: </p> <p> </p> <p> Bảng facebook: </p> <img src="https://stackask.com/wp-content/uploads/2022/12/Screenshot-2022-12-04-at-18.47.29.png" alt="" class="alignnone size-full wp-image-8797" /> <p> </p> <p> Bảng linkedin: </p> <img src="https://stackask.com/wp-content/uploads/2022/12/Screenshot-2022-12-04-at-18.48.23.png" alt="" class="alignnone size-full wp-image-8798" /> <p> </p> <p> Thì câu truy vấn join where này: </p> <p> </p> <pre> SELECT * FROM facebook LEFT JOIN linkedin ON facebook.name = linkedin.name WHERE facebook.city = 'SF'; </pre> <p> </p> <p> Lại cho kết quả là: </p> <p> </p> <img src="https://stackask.com/wp-content/uploads/2022/12/Screenshot-2022-12-04-at-18.49.32.png" alt="" class="alignnone size-full wp-image-8799" /> <p> </p> <p> Trong khi sử dụng join and: </p> <p> </p> <pre> SELECT * FROM facebook LEFT JOIN linkedin ON facebook.name = linkedin.name AND facebook.city = 'SF'; </pre> <p> </p> <p> Lại cho kết quả là: </p> <p> </p> <img src="https://stackask.com/wp-content/uploads/2022/12/Screenshot-2022-12-04-at-18.50.31.png" alt="" class="alignnone size-full wp-image-8800" /> <p> </p> <p> Vì sao vậy? </p>
Answer
Avatar
1
toilahtc Beginner
toilahtc Beginner
SQL Partition: Khi dữ liệu đã quá nhiều, thì phải tạo partition như nào
Giả sử cần tạo partition cho 1 table, nhưng dữ liệu table đã quá lớn, vậy có thể đánh partition hay không. ĐIều gì sẽ xảy ra
Answer
Avatar
0
Thân Nam Teacher
Thân Nam Teacher
Xử lý kiểu dữ liệu Blob trong database h2 spring boot
Em chào mọi người <p> </p> <p> Em đang tìm hiểu dữ liệu Blob sử dụng H2 DB của spring boot kiểu dữ liệu này có thể lưu tất cả các dạng file phải k ạ? Và trong spring có hỗ trợ convert File từ java để lưu xuống db với kiểu Blob k ạ? Em cảm ơn </p>
Answer
Avatar
0
Hihi Teacher
Hihi Teacher
Hỏi về View trong SQL
Hello mọi người , <ol> <li>Sau khi em tạo và dùng View trong SQL thì em thấy rất tiện dụng ,App Spring Boot của em gọi đến View lấy dữ liệu rất dễ dàng, em có một thắc là khi chúng ta dùng View thì có <strong>nhược điểm </strong>gì không ạ ?</li> <li>Nếu được lựa chọn ghi câu query phức tạp trên Spring Boot (<strong>không</strong> dùng View) và tạo View với query phức tạp đó rồi gọi View đó ở Spring Boot Back End thì trong thực tế mọi người sẽ <strong>ưu tiên</strong> cái nào hơn ?Và vì sao ạ ?</li> </ol> <p> Cảm ơn mọi người ! </p>
Answer
Avatar
1
Farrar Harry Beginner
Farrar Harry Beginner
Xử lý soft delete cho quan hệ many-to-many
Xin chào mọi người, em đang gặp vấn đề về cách xử lý soft delete trong DB như sau: <p> </p> <p> Giả sử có 2 bảng Employee và Department với quan hệ n-n và 1 bảng trung gian emp-dept, tất cả các bảng đều có trường is_deleted để biểu diễn row đó đã xóa hay chưa( Khi xóa bản ghi thì gán giá trị is_deleted = true) </p> <p> </p> <p> Khi thực hiện chức năng cập nhật (ví dụ cập nhật 1 employee sang các department khác) thì sẽ xử lý trên bảng trung gian. và em có nghĩ đến 2 cách để xử lý bảng trung gian này như sau: </p> <ul> <li>Cách 1: Xóa toàn bộ các bản ghi cũ (update is_deleted = true) và thêm các bản ghi mới. Cách này có ưu điểm là dễ làm, chỉ việc xóa row cũ và thêm lại các row mới, nhược điểm là đối với các bản ghi đã có mà cập nhật thì cũng sẽ bị xóa đi và insert vào lại, dẫn đến bảng sẽ sớm bị phình to.</li> <li>Cách 2: Giữ lại các bản ghi cũ nếu không thay đổi và thêm mới nếu chưa có. Cách này có ưu là bảng không bị phình như cách trên. nhưng nhược điểm là sẽ phải kiểm tra đầu vào trước, query vào db để lần lượt kiểm tra từng phần tử trong request xem cái nào có rồi thì bỏ qua, thêm mới những bản ghi chưa có và xóa những bản ghi không còn giá trị, sẽ phải check vất vả hơn cách trên.</li> </ul> <p> Vậy theo mọi người, cách nào sẽ có hiệu quả tốt hơn. và trong thực tế khi xử lý soft delete thì mọi người thường làm thế nào. </p> <p> </p> <p> Em xin cảm ơn. </p>
Answer
Avatar
0
hovanvydut Beginner
hovanvydut Beginner
Lợi ích của việc sử dụng View trong database
Chào mọi người, <p> </p> <p> Mọi ngườ cho em hỏi là trong thực tế: Em muốn query 1 danh sách các bài viết bao gồm content + tag + cateogry + comments + reply thì mình sẽ join các bảng lại với nhau khi query như bình thường hay là tạo 1 cái view nó join sẵn. </p> <p> </p> <p> Nhân tiện mọi người cho em hỏi việc dùng view và việc join bảng bình thường thì có ưu/ nhược điểm gì ạ </p> <p> </p> <p> Em cảm ơn mn nhiều </p>
Answer