一、场景题
1.避免全表扫描、避免order by全表排序
可以使用索引、在使用sql语句的时候要避免全表排序
对于order by除了自己排序的增加索引,还有就是可以使用where过滤,where和排序的组成覆盖索引。
2.视图和物理视图
视图是一组打包的sql语句,它简化了人的操作,一次操作一组,可以把结果继续去操作。
物理视图简化了视图的流程,把执行结果存储起来,像一个单独的数据库数据表一样。
(这个有一点空间换时间的思想,当前计算机时间是更重要的,比如大模型用户都希望更快的速度而不关心你的空间
3.None值相关
任何数据类型都可以是None值;None的数据占用的空间比空字符串、0这些要小得多。
None和其他值的比较是unknown
对于业务上有需要的才允许None,不要随便None
昨日回顾
4.存储过程和触发器
存储过程存储的是一组编译好的sql语句,提供了安全性提高了执行速度,由程序员主动触发,触发器是一类特殊的存储过程,是被动触发。
5.explain
查看执行计划,可以检查句子是全表扫描还是使用索引、可以检查可能使用的索引
6.索引建立
对于区分度高的、频繁使用的建立索引
避免索引失效,避免索引冗余,冗余的一种情况是建立了a,b的索引,再单独建立和a相关的索引
如果建立b的索引就不是冗余。
7.union和union all
union是会对结果去重,unionall不去重。
尚硅谷langchain回顾
1.整体 .env存储的是api_key和base_url,然后引入,然后初始化model,然后model.invoke
2.tool是工具调用,是一种函数调用,有输入和输出
3.agent的四个组成:记忆、规划、行动、工具