All Projects → frail → Mysql Size Estimator

frail / Mysql Size Estimator

Licence: mit
Mysql Table Size Estimator

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Mysql Size Estimator

Schemats
Generate typescript interface definitions from SQL database schema
Stars: ✭ 799 (+4600%)
Mutual labels:  mysql
Diesel
A safe, extensible ORM and Query Builder for Rust
Stars: ✭ 7,702 (+45205.88%)
Mutual labels:  mysql
Goloquent
This repo no longer under maintenance, please go to https://github.com/si3nloong/sqlike
Stars: ✭ 16 (-5.88%)
Mutual labels:  mysql
Geek Framework
基于SpringBoot+Shiro+Redis+Jwt+Thymeleaf+MyBatis 开发的后台用户、角色、权限、会员管理、RestFul、Token和前台用户登录注册以及前后台用户分离的脚手架,技术交流请加QQ群:805442966
Stars: ✭ 804 (+4629.41%)
Mutual labels:  mysql
Hospital Management System
"Health Care hospital" Management System is designed for manage details about hospital patient,employee and rooms(10). Designed by using HTML / CSS / JS / JQUERY/ PHP (procedural php) / MYSQL.
Stars: ✭ 5 (-70.59%)
Mutual labels:  mysql
Ansible Role Mysql
Ansible Role - MySQL
Stars: ✭ 826 (+4758.82%)
Mutual labels:  mysql
Mysqltools
一个用于快速构建大规模,高质量,全自动化的 mysql分布式集群环境的工具;包含mysql 安装、备份、监控、高可用、读写分离、优化、巡检、自行化运维
Stars: ✭ 795 (+4576.47%)
Mutual labels:  mysql
Codeigniter Smartgrid
A simple PHP datagrid control for CodeIgniter framework with Bootstrap
Stars: ✭ 16 (-5.88%)
Mutual labels:  mysql
Dukes Forest
Port of dukes-forest to Wildfly 9 and MySql 5.6.
Stars: ✭ 5 (-70.59%)
Mutual labels:  mysql
Ladder2
A PHP database migration tool for MySQL
Stars: ✭ 7 (-58.82%)
Mutual labels:  mysql
Ezsql
PHP class to make interacting with a database ridiculusly easy
Stars: ✭ 804 (+4629.41%)
Mutual labels:  mysql
Sqltabs
Rich SQL client for Postgresql, MySQL, MS SQL, Amazon Redshift, Google Firebase (Firestore)
Stars: ✭ 809 (+4658.82%)
Mutual labels:  mysql
Szt Bigdata
深圳地铁大数据客流分析系统🚇🚄🌟
Stars: ✭ 826 (+4758.82%)
Mutual labels:  mysql
Newbee Mall
🔥 🎉newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
Stars: ✭ 8,319 (+48835.29%)
Mutual labels:  mysql
Sample Hazelcast Spring Datagrid
sample spring-boot applications integrated with hazelcast imdg, and providing hot cache with hazelcast and striim
Stars: ✭ 16 (-5.88%)
Mutual labels:  mysql
Kingbus
A distributed MySQL binlog storage system built on Raft
Stars: ✭ 798 (+4594.12%)
Mutual labels:  mysql
Puppet Mha
The MHA module handles installing, configuring, and running MHA for MySQL.
Stars: ✭ 5 (-70.59%)
Mutual labels:  mysql
Phpmyadmin sql backup
A Python script to automate SQL dumps via phpMyAdmin's web interface
Stars: ✭ 17 (+0%)
Mutual labels:  mysql
Delphi Orm
Delphi ORM
Stars: ✭ 16 (-5.88%)
Mutual labels:  mysql
Mysqlconnection
Simple library to make it much easier to use MySQL in Visual Studio projects
Stars: ✭ 6 (-64.71%)
Mutual labels:  mysql

Build Status Coverage Status

mysql-size-estimator

mysql-size-estimator is a simple tool to estimate mysql table size for given table schema. It's not 100% accurate nor it could ever be. It's much better to use this tool to give an insight.

The string fields would consume its limits. Assuming you have a utf-8 string field with 10 character limit; estimator would calculate like this field is fully filled with 3 byte characters. (I am planing to make it better and sane soon.)

Install :

git clone https://github.com/frail/mysql-size-estimator.git
cd mysql-size-estimator
python setup.py install

Usages :

Simple usages

or from sql file :

mysql-size-estimator file create1.sql

if you don't have a create script use dummy feature

mysql-size-estimator dummy -c "id INT" -c "user_id INT" -c "name VARCHAR(10) CHARACTER SET latin1" -i "PRIMARY KEY id" -i "KEY idx_name (name)"

if you have specific row counts to do the estimation you can write them aswell

 mysql-size-estimator dummy -c "id INT" -r 1000000 -r 14000000 -r 1700000

Advanced usages

pull data directly from db :

mysql -e 'SHOW CREATE TABLE mysql.user\G' --skip-column-names | awk 'NR > 2' | mysql-size-estimator file -

check out what would change if you add/change an index (names should be unique) :

 ... | mysql-size-estimator file - -i "KEY idx_category(category, created_at)"

if the results seems absurd check out string fields and re-arrange their size on fly. or even change their data type.

... | mysql-size-estimator file - -c "text1 VARCHAR(10)" -c "text2 TEXT(100)"

Important links

Contributing

I would be very happy if you decide to contribute. Check out TODO.txt (my simple todo list) if you want to get an opinion of what I want to achieve. I am also open to ideas.

Please make sure you make the code would be less complicated and have more test coverage with each commit.

Thanks.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].