postgreSQL学习笔记(二)
性能优化-索引 索引可以提升数据库查询性能 索引是预先创建的一种有序的数据结构 创建索引 CREATE INDEX index_name ON table_name (column_name); 验证索引是否生效 EXPLAIN SELECT * FROM table_name WHERE indexed_column = 'some_value'; Seq Scan表示使用全表扫描没用索引 Index Scan表示成功使用索引 索引的好处说完了,代价呢? 空间成本:会占用额外的硬盘空间 维护成本:虽然增加了查询SELECT的速度,但是当数据库要INSERT,UPDATE,DELETE等操作时,还要额外操作索引,降低写操作的速度 使用原则 给谁用 出现在WHERE子句的列 使用JOINd的列 使用ORDER BY的列 谁慎用 写的操作比较多的列 值的重复度比较高的列(比如值是性别) 索引失效 通配符在前面的时候,索引会失效 WHERE name LIKE '张%'; – 能使用索引 (从目录的’Z’部分开始找)。 WHERE name LIKE...
力扣HOT100/最长回文子串
比较难懂的一道题,我看题解看了半天才想明白 题目链接 第一想法是暴力枚举所有的子串,然后判断是否回文,但是太过复杂,判断子串回文要O(n)O(n)O(n),一共有O(n2)O(n ^ 2)O(n2)的子串,整体的时间复杂度就是O(n3)O(n ^ 3)O(n3) ,有点慢 方法一:中心扩展法 回文串无论长短都是中心对称的,这个方法就是遍历中心,然后不断扩展,唯一注意的就是回文串长度是奇数还是偶数,奇数是以字符为中心,而偶数就是以字符间的缝隙为中心,所以循环遍历的条件是i < 2 * n - 1 方法二:Manacher算法
postgreSQL学习笔记(一)
postgreSQL学习笔记(一) 这学期有一门课程是数据库,外教老师实在一言难尽,只好自学,看了菜鸟教程云里雾里的,然后又不喜欢看视频学习,就让gemini来教我,效果还不错 基础环境 创建数据路 CREATE DATABASE datebase_name; 切换数据库 \c database_name; 查看表结构 \d table_name; 创建表 CREATE TABLE table_name; 数据操作 插入数据:INSERT INTO; 查询数据:SELECT column1,column2 FROM table_name; 修改数据:UPDATE table_name SET column1 = new_value1 WHERE condition; 删除数据:必须使用where指定删除哪一行,否则会删除整个表 DELETE FROM table_name WHERE condition; 数据查询与表的结构修改 条件查询 SEWLECT * FROM table_name WHERE condition1 AND/OR...

