Hướng dẫn dành cho nhà phát triển Android dường như thích FTS3 trong SQLite DB khi tìm kiếm là cần thiết. Tôi đọc mô tả FTS3 và nó xuất hiện rằng nó tạo ra một bảng ảo thay vì một bảng vĩnh viễn. Sự khác biệt giữa bảng ảo (FTS3) và bảng bình thường trong SQLite là gì? Là bảng ảo vĩnh viễn và vẫn còn trong cơ sở dữ liệu ngay cả sau khi tôi thoát khỏi ứng dụng? Cảm ơn bạn.Bảng bình thường so với bảng ảo SQLite DB
Trả lời
Một bảng ảo cho phép công cụ SQLite truy cập vào nội dung của kho dữ liệu, sử dụng mã (thường) không phải SQLite. Điều này cho phép nhà phát triển thêm chức năng tùy chỉnh vào SQLite.
Trong trường hợp FTS, ban đầu nó không phải là một phần của công cụ SQLite. Đó là mã bên ngoài SQLite, cho phép người dùng cuối thực hiện tìm kiếm toàn văn bản trên dữ liệu.
Bảng ảo có vĩnh viễn không? Điều đó phụ thuộc vào việc triển khai. Đối với FTS, dữ liệu là vĩnh viễn. Tuy nhiên, bạn có thể tạo một triển khai sử dụng RAM để lưu trữ - điều này rõ ràng sẽ biến mất khi ứng dụng bị chấm dứt.
thêm về bảng ảo: http://www.sqlite.org/vtab.html
Tôi nghĩ đó là chính xác hơn để nói rằng hướng dẫn API cho việc tạo ra một giao diện tìm kiếm ghi chú rằng FTS3 không tìm kiếm văn bản đầy đủ nhanh hơn nhiều so LIKE, tùy thuộc vào các đặc tính của tìm kiếm. Ví dụ, một truy vấn SQLite thông thường sử dụng LIKE cho phép ký tự đại diện, trong khi truy vấn FTS3 bằng MATCH thì không. Nếu bạn muốn tìm kiếm các thẻ, bạn có thể muốn đi với FTS3. Nếu bạn đang thực hiện trận đấu không chính xác, bạn chắc chắn phải đi với LIKE.
- 1. Tìm kiếm trên Android: Sử dụng các bảng FTS cùng với các Bảng DB SQLite bình thường
- 2. Bảng = Bảng so với Bảng.Data (Bảng)
- 3. So sánh hai bảng trong SQLite
- 4. Nhiều Bảng SQLite DB Adapter (s) trong Android?
- 5. MySQL: Bảng dài so với bảng rộng
- 6. Bảng phương thức ảo
- 7. Bảng SQLite với Git sáp nhập
- 8. Bảng so với hiệu suất bảng tạm thời
- 9. Berkeley DB SQL nhanh như thế nào so với SQLite?
- 10. Tạo bảng DB từ bảng dữ liệu
- 11. Tên bảng tính Excel so với tên bảng Visual Basic
- 12. Tên thực thể so với tên bảng
- 13. Giải thích về bảng ảo
- 14. Làm thế nào để hack bảng ảo?
- 15. Bảng DRI SQLIte ROLL trở lại
- 16. Bảng ảo hóa không cắt các mục
- 17. Xóa cột khỏi bảng SQLite
- 18. đường ray tạo bảng trong db động
- 19. Thông báo DB SQLite Android
- 20. Bảng tìm kiếm so với if-else
- 21. Slick so sánh cột bảng với null
- 22. MSMQ so với Dump Bảng tạm thời
- 23. SQLite: COUNT chậm trên các bảng lớn
- 24. Độ dài bình luận bảng trong MySQL
- 25. Android SQLite "không có bảng như vậy" ngoại lệ
- 26. id chèn cuối cùng với bảng zend db trừu tượng
- 27. Sao chép bảng trong một db sang một db
- 28. MongoDB mới bắt đầu - để bình thường hóa hay không bình thường hóa?
- 29. Tại sao lớp sau có bảng ảo?
- 30. C++ nhớ bảng chức năng ảo tốn
Tôi nghĩ rằng ký tự đại diện được phép khi sử dụng MATCH. Bạn chỉ cần đặt * dựa trên những gì tôi đọc trên trang web SQLite. – androidnerd