ann
冰是没有未来的,因为它的永恒
posts - 107,comments - 34,trackbacks - 0
postges database
postges database
SQL like子句的另一种实现方法,速度比like快      摘要:

SQL like子句的另一种实现方法,速度比like快


一般来说使用模糊查询,大家都会想到LIKE
select * from table where a like '%字符%'

如果一个SQL语句中用多个 like模糊查询,并且记录条数很大,那速度一定会很慢。
下面两种方法也可实现模糊查询:
select * from table where patindex('%字符%',a)>0
select * from table where charindex('字符',a)>0
经测试这两种方法比LIKE速度要快。

  阅读全文
posted @ 2010-05-04 12:58 冰是没有未来的,因为它的永恒| 编辑
pg_restore      摘要: 1.备份表中的数据


D:\Program Files\PostgreSQL-8.3.7\bin\pg_dump.exe -h *.*.*.* -p 5432 -U username -F c -v -f "D:\Program Files\PostgreSQL-8.3.7\bin\sss.backup" -t "\"public\".\"tablename\"" databasename

2. 创建表

CREATE TABLE tablename
(
id bigint,
createtime timestamp without time zone,
modifyname character varying(255),
modify_date timestamp without time zone,
modify_detail character varying(100000),
"name" character varying(255  阅读全文
posted @ 2010-03-11 10:02 冰是没有未来的,因为它的永恒| 编辑
postgres手册链接      摘要: 一.linux 监控数据库活动
$ ps auxww | grep ^postgres

postgres 3424 0.0 1.2 42708 26588 ? Ss Jan29 0:00 postgres: writer process
postgres 3425 0.0 0.0 42576 1284 ? Ss Jan29 0:00 postgres: wal writer process
postgres 3426 0.0 0.0 43364 1972 ? Ss J  阅读全文
posted @ 2010-02-09 15:30 冰是没有未来的,因为它的永恒| 编辑
sql 删除重复的数据      摘要: 1、对于第一种重复,比较容易解决,使用

select distinct * from tableName

  就可以得到无重复记录的结果集。

   如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp


  阅读全文
posted @ 2010-02-08 16:22 冰是没有未来的,因为它的永恒| 编辑
PostgreSQL数据库日常维护两个要点      摘要:

数据库服务器,应对是高并发的访问,每天都有大量的读写删除操作。因此,时间一长服务器的内存就耗尽,数据库的占的空间也很大。为了应对这个情况,我制定两个常用的维护操作。

一、注重日常清理(VACUUM;)。因为有大量的更新(update)"删除(delete)操作,会有大量的空间需要释放。

每日执行一次VACUUM,每周访问量低的时候执行VACUUM FULL;

语法结构;

VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL | FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]

FULL ------选择"完全"清理,这样可以恢复更多的空间, 但是花的时间更多并且在表上施加了排它锁。
FREEZE ---------选择激进的元组"冻结"。
VERBOSE --------- 为每个表打印一份详细的清理工作报告。 <  阅读全文
posted @ 2010-01-07 15:55 冰是没有未来的,因为它的永恒| 编辑
postgres create INDEX      摘要: CREATE INDEX 在指定的表上构造一个名为 index_name 的索引。索引主要用来提高数据库性能。但是如果不恰当的使用将导致性能的下降。

PostgreSQL 为从索引提供 B-tree,R-tree,hash(散列) 和 GiST 索引方法。 B-tree 索引方法是一个 Lehman-Yao 高并发 B-trees 的实 现。R-tree 索引方法用 Guttman 的二次分裂算法实现了标准的 R-trees。 hash(散列)索引方法是 Litwin 的线性散列的一个实现。 用户也可以定义它们自己的索引方法,但这个工作相当复杂。
如果出现了 WHERE 子句,则创建一个部分索引。 部分索引是一个只包含表的一部分记录的索引,通常是该表中比其它部分数据更有用的部分。

在 WHERE 子句里用的表达式只能引用下层表的字段,但是它可以使用所有字段,而不仅仅是被索引的字段。 目前,子查询和聚集表达式也不能出现在WHERE里。

索引定义里的所有函数和操作符都必须是immutable,(不  阅读全文
posted @ 2009-12-22 10:00 冰是没有未来的,因为它的永恒| 编辑
postgres数据库的操作      摘要: 1. 修改role密码
alter role postgres password 'postgres';

2. 设置postgres远程连接

1). 修改listen addresses
sudo vim /etc/postgresql/8.3/main/pg_hba.conf
# listen_addresses = 'localhost'
设置为 listen_addresses = '*'

2). 添加ip

sudo vim /etc/postgresql/8.3/main/postgresql.conf
在 最后一行添加
host all all 192.168.0.0/16 md5

3  阅读全文
posted @ 2009-07-31 14:23 冰是没有未来的,因为它的永恒| 编辑
数据库备份      摘要: 1.备份
>pg_dump -h 192.168.4.217 --username admin RestaurantCenter >restaurantcenter1.sql

2.执行sql
>psql -h 192.168.1.18 --username postgres RestaurantCenter < restaurantcenter1.sql

  阅读全文
posted @ 2009-07-02 13:43 冰是没有未来的,因为它的永恒| 编辑
为已经存在的数据库添加GIS功能      摘要: PgAdmin, open up the SQL window by clicking the SQL button (the one with the pencil).
Choose “File  Open…” and navigate to

C:\Program Files\PostgreSQL\8.3\share\contrib\lwpostgis.sql

Press the “Run” button. (The green triangle.) The lwpostgis.sql file will execute, loading the PostGIS functions and objects into the “postgis” database.

Choose “File  Open…” and navigate to

C:\Program Files\PostgreSQL\8.3\share\contrib\spatial_ref_sys.sql  阅读全文
posted @ 2009-06-03 09:55 冰是没有未来的,因为它的永恒| 编辑

当下,把心放下 放下如果是可能的,那一定是在当下,
不在过去,也不在未来。
当下放下。唯有活在当下,你的问题才能放下。