sql数据库

php+中文分词scws+sphinx+mysql打造千万级数据全文搜索

纵然是瞬间 提交于 2020-03-15 11:36:55
Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。 Sphinx创建索引的速度为:创建100万条记录的索引只需3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。 Sphinx的特性如下: a) 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); b) 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒); c) 可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可处理100 M 文档); d) 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法; e) 支持分布式搜索; f) 支持短语搜索 g) 提供文档摘要生成 h) 可作为MySQL的存储引擎提供搜索服务; i) 支持布尔、短语、词语相似度等多种检索模式; j) 文档支持多个全文检索字段(最大不超过32个); k) 文档支持多个额外的属性信息(例如:分组信息,时间戳等); l) 支持断词;

对网上流传的SQL日志清理脚本的小小改进

时光总嘲笑我的痴心妄想 提交于 2020-03-15 06:41:06
前段时间,发现下面一个单位的MSSQL日志有35G,而数据文件只4G多,貌似有点问题。 所以从网上找来了一个清理脚本。 因为转载的太多,也不知是哪位原创,这里就不引用原文了。原作者见谅哦。 发现的小问题,脚本中的危险操作没有加判断便会执行,所以改了下。 放在这里也是为哪天移动硬盘崩了,还能找回来。 /**/ /* --调用示例 exec p_compdb 'testt',false,true,'d:\bak.ext' exec p_compdb 数据库名,[危险的删除操作],[自动备份],[备份文件名] -- */ use master -- 注意:该存储过程要建在master数据库中 go if exists ( select * from dbo.sysobjects where id = object_id (N ' [dbo].[p_compdb] ' ) and OBJECTPROPERTY (id, N ' IsProcedure ' ) = 1 ) drop procedure [ dbo ] . [ p_compdb ] GO create proc p_compdb @dbname sysname, -- 要压缩的数据库名 @isdel bit = 0 , @bkdatabase bit = 1 , -- 在分离日志的步骤中,可能会损坏数据库

数据库的分页问题

前提是你 提交于 2020-03-15 05:23:09
随着数据库中存储的数据的增多,满足用户查询条件的数据也随之增加。而用户一般不可能一次性看完所有的数据, 很多时候也不需要看完所有数据。在这种情况下,分页返回用户查询的数据就显得相当的重要。分页返回用户数据有如下好处: 1、减少服务器磁盘系统地读取压力 2、减少网络流量,减轻网络压力 3、减轻客户端显示数据的压力 4、提高处理效率。 一般而言,分页处理分为两种:应用程序中的分页处理和数据库中的分页处理。目前大多数的应用都是在应用程序中借助支持数据分页处理的数据库访问组件(如DataGrid控件)实现分页处理。实际上,在数据库中实现分页处理,可以从源头减少数据处理量,效果往往可能跟明显。本文主要讨论数据库的分页问题。 常规的取第n页数据方法为: Select top PageSize * from TableA where Primary_Key not in (select top (n-1)*PageSize Primary_Key from TableA )。 对于应用程序而言,所做的就是在生成分页处理的T-SQL语句前先计算好各数字, 对于数据库而言,应该采用动态的T-SQL语句。 以下是使用上述原理实现的通用分页处理存储过程: create proc up_PageView ( @tableName sysname, @colKey nvarchar ( 100 ),

在Django中使用原生Sql

做~自己de王妃 提交于 2020-03-14 23:15:53
在Django中使用原生Sql主要有以下几种方式: 一:extra:结果集修改器,一种提供额外查询参数的机制 二:raw:执行原始sql并返回模型实例 三:直接执行自定义Sql (这种方式完全不依赖model,前两种还是要依赖于model) 实例: 使用extra:   1:Book.objects.filter(publisher__name='广东人员出版社').extra(where=['price>50'])   Book.objects.filter(publisher__name='广东人员出版社',price__gt=50)   2:Book.objects.extra(select={'count':'select count(*) from hello_Book'})     在Book表中增加了count字段可被调用 使用raw:   Book.objects.raw('select * from hello_Book')   自定义sql:   Book.objects.raw("insert into hello_author(name) values('测试')")   rawQuerySet为惰性查询,只有在使用时生会真正执行 执行自定义sql: django.db.connection:代表默认的数据库连接 django.db.transaction

[原创]java WEB学习笔记27:深入理解面向接口编程

扶醉桌前 提交于 2020-03-14 10:57:57
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1.面向接口编程的优势   1)增加了程序的课扩展性,降低耦合度。即,只需要知道方法就好了,具体的实现不关注。如果需要新的功能,添加在接口中添加方法的声明,还有具体的实现类,这就是可扩展性。   2)程序的可配置性。通过一个配置的修改,就可以达到不同的实现的目的

什么是SQL注入及SQL注入工具

风流意气都作罢 提交于 2020-03-14 04:26:56
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。 但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。 根据国情,国内的网站用ASP+Access或SQLServer的占70%以上,PHP+MySQ占L20%,其他的不足10%。在本文,我们从分入门、进阶至高级讲解一下ASP注入的方法及技巧,PHP注入的文章由NB联盟的另一位朋友zwell撰写,希望对安全工作者和程序员都有用处。了解ASP注入的朋友也请不要跳过入门篇,因为部分人对注入的基本判断方法还存在误区。大家准备好了吗?Let's Go... 入 门 篇 如果你以前没试过SQL注入的话,那么第一步先把IE菜单=

oracle更改编码

非 Y 不嫁゛ 提交于 2020-03-14 03:44:32
背景: win764bit英文操作系统(支持中文)    oracle11G默认安装    从ZHS16GBK字符集导入数据库 表现: plsql显示为乱码,所有汉字显示为“靠” 解决:1、查看并更改数据库的编码为ZHS16GBK $sqlplus system/oracle SQL> select * from v$nls_parameters; PARAMETER VALUE ------------------------ ----------------------------- NLS_LANGUAGE SIMPLIFIED CHINESE NLS_TERRITORY CHINA NLS_CURRENCY RMB NLS_ISO_CURRENCY CHINA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR NLS_DATE_LANGUAGE SIMPLIFIED CHINESE NLS_CHARACTERSET ZHS16GBK NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF

SQL Server附加数据库出现错误5123的正确解决方法

ε祈祈猫儿з 提交于 2020-03-14 02:20:26
因为自己有一本基于SQL Server 2005的数据库教程,里边使用的 示例数据库 是AdventureWorks for SQL Server 2005,而我的机子上装的是SQL Server 2008,示例数据库是AdventureWorks for SQL Server 2008。起初我以为示例数据库AdventureWorks for SQL Server 200 5 与AdventureWorks for SQL Server 200 8 数据库结构应该差不多,可是在练习的过程中,我发现两个数据库中很多表的结构还是有很多不一样的地方。于是决定到微软下载中心将示例数据库AdventureWorks for SQL Server 2005下过来,附加到SQL Server 2008上,以便顺利进行练习。我以SQL Server 2008的超级管理员账户“ sa ”连接登录到实例SQLSERVER2008: 在附加示例数据库AdventureWorks for SQL Server 2005时,弹出了下图 这个错误: 仔细看了一下主要信息“ 尝试打开或创建物理文件......时,CREATE FILE遇到操作系统错误 5(拒绝访问。) ” ,一看就知道应当是对要附加的数据文件的操作权限不够。 按一般的思维习惯,我们会对操作权限不够的文件授予足够的操作权限。比如,有网友说“

sql server 中间件支持读写分离

南楼画角 提交于 2020-03-13 21:09:30
经过一段时间艰苦的奋斗,终于把sql server的读写分离搞定了。大家可以下载oneproxy-for-sqlserver来使用此功能。更多消息,可以访问 平民软件官网 获取。或者加入群 数据库监控 521095285 ,或者关注 oneproxy-monitor框架项目 (oneproxy-for-sqlserver是在此项目下开发的,会同步更新此框架) 下面说说oneproxy-for-sqlserver读写分离的使用方法和开发中遇到的有趣问题。 一. 使用方法 为了支持读写分离,需要修改[oneproxy]标签的数据和增加[database_xxx]标签的数据以及数据库组的信息。详细如下所示: 1) 在[oneproxy]标签下面增加:passwordseparate = true和readslave=true。增加后的配置如下所示: [oneproxy] logfile = oneproxy_log.log pidfile = oneproxy_pid.pid listen_addr = 0.0.0.0 listen_port = 9999,7777,6666 httpserver_addr = 0.0.0.0 httpserver_port = 8080 log_level = error data_dump = false log_sql = false

OGG实现两台Oracle数据库的同步

一个人想着一个人 提交于 2020-03-13 14:36:00
今天通过最简单的一个例子,给大家讲解下 goldengate 实现两台 Oracle 数据库的同步。 内容如下: 1.配置数据库信息。 2.安装golden gate. 3.配置golden gate. 4.测试同步情况 首先我们看看实验环境 环境 源端是一个单实例 Oracle Enterprise 5 + ORACLE 10.2.0.4 IP :10.4.128.100 目标端是一个单实例 Oracle Enterprise 5 + ORACLE 10.2.0.4 IP :10.4.128.101 两台主机均已创建数据库,sid分别为devdb 和 emrep 配置devdb 到 emrep的数据同步 goldengate版本11.2.1.0 1.配置数据库信息 在源端数据库中打开归档模式 SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/archive1 Oldest online log sequence 180 Next log sequence to archive 181 Current log sequence 181 若处于非归档模式,则改为归档模式: SQL> shutdown immediate