¿Cómo puedo averiguar el uso del disco de una sola tabla dentro de una base de datos SQLite sin copiarlo en una nueva base de datos vacía?Uso de disco de tabla SQLite
Respuesta
Puede usar sqlite3_analyzer desde http://www.sqlite.org/download.html.
Es una herramienta realmente genial. Le muestra el número de páginas utilizadas por cada tabla con y sin índices (cada página, por defecto, tiene 1024 bytes).
Esta es una salida sqlite3_analyzer muestra para la base de datos Neptuno:
*** Page counts for all tables with their indices ********************
EMPLOYEES............................. 200 34.4%
ORDERS................................ 152 26.2%
CATEGORIES............................ 90 15.5%
ORDER DETAILS......................... 81 13.9%
CUSTOMERS............................. 17 2.9%
SQLITE_MASTER......................... 11 1.9%
PRODUCTS.............................. 7 1.2%
SUPPLIERS............................. 7 1.2%
TERRITORIES........................... 6 1.0%
CUSTOMERCUSTOMERDEMO.................. 2 0.34%
CUSTOMERDEMOGRAPHICS.................. 2 0.34%
EMPLOYEETERRITORIES................... 2 0.34%
REGION................................ 2 0.34%
SHIPPERS.............................. 2 0.34%
También genera las sentencias SQL que se pueden utilizar para crear una base de datos con estadísticas de uso, que luego se puede analizar.
Soy consciente de que esta respuesta viola totalmente el espíritu de la pregunta, pero le consigue el tamaño sin copiar el archivo ...
$ ls -lh db.sqlite
-rw-r--r-- 1 dude bros 44M Jan 11 18:44 db.sqlite
$ sqlite3 db.sqlite
sqlite> drop table my_table;
sqlite> vacuum;
sqlite> ^D
$ ls -lh db.sqlite
-rw-r--r-- 1 dude bros 23M Jan 11 18:44 db.sqlite
¡Eso es furtivo! Sugiero que agregue un comentario sobre el código que explica lo que hace el fragmento, me tomó un momento. – Moot
- 1. Uso de SQLite con Qt
- 2. PHP/SQLite - Copia de una tabla del disco a la memoria
- 3. Java perfiles de uso de disco
- 4. Uso de AND y OR en SQLite
- 5. SQLite - ordenando una tabla
- 6. ¿Las lecturas de SQLite siempre golpean el disco?
- 7. Recuperar rango de la tabla sqlite
- 8. Excepción SQLite: ninguna tabla de tal error
- 9. Uso de múltiples bases de datos SQLite a la vez
- 10. Tabla SQLite con Git merging
- 11. Ordenar una tabla SQLite completa
- 12. Uso de SQLite con ASP clásico
- 13. Uso de SQLite con std :: iostream
- 14. Uso de SQLite desde libGDX en Android
- 15. Nombre de la tabla de variables en sqlite
- 16. cómo encontrar el uso de espacio de disco por usuario?
- 17. imagen de disco de la base de datos sqlite malformada en el SDK de iPhone
- 18. Dificultad para actualizar la tabla SQlite
- 19. El uso de Pragma-s de SQLite en C#
- 20. problema con la base de datos sqlite, sin tabla:
- 21. Uso de SQLite con Visual Studio 2008 y Silverlight
- 22. Uso de SQLite en un programa de Python
- 23. ¿Número máximo de filas en una tabla sqlite?
- 24. Comando SQL para extraer el esquema de una tabla SQLite?
- 25. ¿Cómo verifico en SQLite si existe una tabla?
- 26. SQLite crear tabla FTS previamente poblada
- 27. Insertar nulo en la tabla Sqlite
- 28. Python y SQLite: insertar en la tabla
- 29. Problema de SQLite con nombres de tabla usando números?
- 30. Obtener ID de fila de una tabla SQLite FTS3
Muchas Gracias! Justo lo que estaba buscando ... – MrMage
Cuidado, sqlite3_analyze tarda mucho tiempo en ejecutarse. – alecco
¡Jaja! ¡Así que esto es lo que hace 'sqlite3_analyzer'! –