Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- echo "Bash version is ${BASH_VERSION}"
- # Initialize sql query
- mysqldb=benchmark
- mysqlusr=root
- mysqlpwd=root
- mysqloptions=""
- mysqltable=simple
- startSql="INSERT INTO $mysqltable(id, name) VALUES"
- # Create data list
- min=0
- max=200000
- stepRun=1000
- arrSQL=()
- # Make data as many parts. Max data for single query is step run
- for i in $(seq $min $stepRun $max)
- do
- childMax=$i
- childMin=$(($childMax-$stepRun))
- sql=$startSql
- # Make part sql
- for j in $(seq $childMin $childMax)
- do
- if [ $j -gt $min ]; then
- # Fill row data
- sql="$sql(1, $j)"
- if [ $j -lt $childMax ]; then
- sql="$sql,"
- fi
- fi
- done
- # Append part query sql to array
- if [ "$sql" != "$startSql" ]; then
- arrSQL[$i]="$sql;"
- fi
- done
- # Run the query
- mysql -u $mysqlusr -p$mysqlpwd $mysqloptions -D $mysqldb -B -e "TRUNCATE $mysqltable"
- echo "Table `$mysqltable` has truncated"
- echo "Start insert from value $min to value $max"
- echo "---------------------------"
- for i in "${!arrSQL[@]}"
- do
- mysql -u $mysqlusr -p$mysqlpwd $mysqloptions -D $mysqldb -B -s -e "${arrSQL[$i]}"
- echo "Added data of index $i"
- done
Advertisement
Add Comment
Please, Sign In to add comment