1、没谷歌到php可以用的直接方法,不过可以获取批量插入的第一个自增id
从网站建设到定制行业解决方案,为提供成都网站设计、网站建设服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。创新互联将不断加快创新步伐,提供优质的建站服务。
2、假设批量插入的数据的自增ID是连续的,则可以通过第一个自增ID获取所有自增ID
3、测试批量插入的数据的自增ID是否是连续的,即插入过程中,单独插入其他数据,批量插入的自增ID是否连续
4、生成批量插入10w条数据的sql
5、navicat打开两个页面,一个是上面的sql,一个是一条单独插入的sql(这条sql的test_id,要大于上面sql里随机数的最大值,方便查看)
6、所以可以使用2中的方式获取批量插入的所有自增ID
可以用shell写个脚本批量添加mysql用户:
#!/bin/bash
i=$1;
MAX_INSERT_ROW_COUNT=$2;
while [ $i -le $MAX_INSERT_ROW_COUNT ]
do
mysql -uopensips -popensipsrw opensips -e "insert into subscriber(username,password) values ('10$i',10$i);"
d=$(date +%M-%d\ %H\:%m\:%S)
echo "INSERT username 10$i on $d"
i=$((i+1))
sleep 0.05
done
exit 0
建缓冲区。比如其他类型的高速缓存(redis等)作为中间缓冲层。
数据的查询,更改首先在这个层处理,处理完再更新到对应的数据库。
注意额外增加锁,或者缓存机制防止缓存击穿,雪崩导致系统崩溃。