
PRAGMA journal_mode = WAL; PRAGMA busy_timeout = 5000; PRAGMA synchrOnous= NORMAL; 内存够用的话还可以设置这两个选项加大内存缓存。
PRAGMA cache_size = 1000000000; PRAGMA temp_store = memory; ]]>因为 SQLite 简单,不需要解决配置,端口,用户名,等等复杂问题。即开即用。
那以后到了什么时候就该从 SQLite 换到 MySQL 了呢?或者换到 SQL Server ?
]]>RESTful API 需要从数据库读取很多基础数据,这些数据改动很少,所以加了一个缓存 x 分钟刷新一次。 目前是直接保存到 Java Object 的。
API 各类请求都有。基础数据方面一般都要做一些数据处理然后再组合其他数据返回。简单的比如 sort ,复杂的要先 group by 然后在筛选等。 使用 Java Stream API 能做,但是感觉有点麻烦,不如 SQL 方便。
所以想到了 SQLite In-Memory ,如果把数据保存在 SQLite 内,那么查询会直观很多,而且感觉作为 In-Memory 的数据库,速度差异应该不大?
不知道有没有 v 友有相关经验可以分享的。
]]>前提:只有一个数据库
主要考虑以下几种场景:
如果使用 Serialized Mode ,那么是不是无论什么时候都没必要去调用 close 方法,等着垃圾回收就是?
如果使用 Multi-thread/Single-thread Mode ,那么是不是需要在前两种场景下手动调用 close 呢?
]]>我觉得有必要分享一个人的故事(How Pieter Levels learned to code),这个叫 Pieter Levels 的哥们自学编程写了两个网站,目前已经做到每年收入 60 万刀。看看他的技术栈:
我之前接触过很多独立开发者和小团队,很多选择了非常重的架构,比如微服务、K8S 。其实,绝大部分创业项目最后都死掉了,创业团队把大量的时间浪费在了解决永远不可能发生的规模和复杂性问题上。他们臆想了一个甜蜜的烦恼,并花了大量的时间和钱来试图解决它。
也有一些开发者很务实的选择了 serverless 、django ,快速 rush 出一个 MVP ,发现商业不可行就快速扔掉。
我多年前看《黑客与画家》,Paul Graham 说 Lisp 和 Python 才是创业公司该用的语言,其实我并不理解,我那时候还在 C++性能更好的认知里。最近两年大热的 No-Code 和 Low-Code ,我也没有太深的体会。
直到最近半年,我自己用 Go 和 Python 写了两个失败的项目,我才明白了。对于以商业成功为目标的项目,快速试错,降低写代码的成本是多么重要。
]]>pkg install sqlcipher ,谢谢一共四张表,关系从左至右都是一对多。现在我问题是如果我添加外键用来链表的话,unit 这张最小的表的数据量将会非常大而且很多都是重复的。四张表的具体数据如下:
Department | Id | Name(STR) | Position(INT) | Active(INT) |
| ---- | --------- | ------------- | ----------- |
| 1 | AAA | 1 | 0 |
| 2 | BBB | 2 | 0 |
| 3 | CCC | 3 | 1 |
| 4 | DDD | 4 | 1 |
Sub-department
| Id | Name(STR) | Position(INT) |
| ---- | --------- | ------------- |
| 1 | AAA | 1 |
| 2 | BBB | 2 |
| 3 | CCC | 3 |
| 4 | DDD | 4 |
Category
| Id | Name(STR) | Position(INT) |
| ---- | --------- | ------------- |
| 1 | AAA | 1 |
| 2 | BBB | 2 |
| 3 | CCC | 3 |
| 4 | DDD | 4 |
Unit
| Id | Name(STR) | Position(INT) |
| ---- | --------- | ------------- |
| 1 | AAA | 1 |
| 2 | BBB | 2 |
| 3 | CCC | 3 |
| 4 | DDD | 4 |
请问一下我该怎么修改我的表的结构避免重复数据产生呢?
补充一下!具体的业务是类似于路径查找那样的,点开我的电脑然后显出出来所有的在我的电脑下的文件夹,然后选择不同的文件夹进入里面在进入到子文件夹这样。
]]>