百万级xlsx表格导入数据库的实现方案

需求是这样的,供应商给到一份 xlsx 表格(144MB),里面刚好有 100w 行数据(11列)。我需要把它们稍作处理后写入到 mysql 数据库 项目基于 Laravel,既然需要稍作处理,那我首先想到的就是找一个能读 xlsx 的 composer 包 我尝试过最知名的PhpSpreadsheet、对 Laravel 友好的 Laravel-Excel。然而不管是顺序读还是分块读,尝试各种方

无限级分类(或菜单)的高性能实现思路

一般说到无限级分类、菜单之类的东西,大家 (我) 的数据表设计一般是这样的 id parent_id title 更多字段… 1 0 衣物 2 1 上衣 3 1 裤子 4 3 西裤 5 4 长西裤 6 4 短西裤 7 2 衬衫 其中,parent_id表示父分类的id。由此可知,衣物分类下有上衣和裤子两个二级分类;而裤子还有西裤这个三级分类……以此类推 这种设计比较常见 (就我所知),

关于localhost会影响网站效率的一个坑

最近发现本地环境是越来越卡了,甚至随便打开一个不大的网站的任意一个页面都要好几秒。但静态资源、页面则一切正常,怀疑是数据库的原因,但不明所以,将就着用 今天上午实在是忍不了,经过一番百度终于查明原因: win7及以上的系统默认是支持IPV6的,在链接数据库的时候,PHP 5.3及以上在面对数据库配置信息中的“localhost”会首先确认这是IPv6还是IPv4,因此在此环节耗时过多,从而影响运行

MySQL建议列属性尽量为NOT NULL

除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL。这看起来好像有点争议,请往下看。 首先,我们要搞清楚“空值” 和 “NULL” 的概念: 1、空值是不占用空间的 2、MySQL中的NULL其实是占用空间的 所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里