- 博客(3)
- 收藏
- 关注
原创 Laravel 执行artisan时Command是如何初始化的,为何会出现执行command很慢的情况
最近维护一个基于laravel的后台项目时,发现通过artisan执行任何命令都很慢,并且还会报错无法连接数据库,即使是执行php artisan optimize这样的命令也是。这很让人疑惑,为什么执行optimize也要连接数据库并且执行效率这么慢?我在数据库报错的地方打印了调用栈,终于发现了问题。laravel的artisan会调用Illuminate\Foundation\Console\Kernel类来处理artisan输入的命令,该类第284行的getArtisan方法会创建一个Artisan
2021-07-14 17:30:59 635 3
原创 mysql 8.x 中insert ignore的性能问题
mysql中replace into效率很差,多进程并发一下就会锁表,所以应该用on duplicate 来做更新,这是众所周知的了。没想到insert ignore也有性能坑,记录下遇到的问题。为了往一张表中插入初始化数据,我开了10个进程并发向数据库中使用insert ignore插入数据,每条insert ignore语句包含7行数据。没想到上线开始跑脚本以后数据库出现不少锁表。根据innodb status log来看,锁住的是表的自增id主键。调试了半天之后发现,原来是insert igno
2020-05-11 15:31:02 7037
原创 php ?: 和 ?? 操作符
php ?: 和 ?? 操作符先水一篇文章?:是php5.3加入的,$a?:1相当于$a?$a:1??是php7加入的,$a??q相当于isset($a)?$a:1两个运算符的差别主要在于:如果$a没有定义,?:会报错,??不会如果$a0或者$a’'这些情况下,$a??1返回$a的值,$a?:1返回1今天在csdn上搜东西的时候发现有人在这种基础问题上误导读者,表示??和?:等价,太水了...
2020-05-11 15:09:22 188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人