Articles of SQL

Benchmark MySQL on SSD:Tools and Strategies

我目前正在将我的服务器从硬盘上运行MyISAM切换到SSD上的InnoDB。 我有一个3,800,000行(16GB)的表作为基准表。 我的服务器设置: Ubuntu 64 + Nginx + MySQL 5.5 + … 我脑海中有两件事情,我会非常testing: 如何从硬盘切换到SSD会影响并发性 如何从MyISAM切换到InnoDB会影响并发性 我对工具和策略都有疑问: 因为我最感兴趣的是并发性, 我应该用什么工具来做testing? 我和Siege一起玩过,我发现玩起来真的很容易。 但我认为应该有更多更强大的Linux软件,更适合我的需求。 testing策略是什么样的? 我知道策略的select可能与我select使用的工具有紧密的关系。 例如,在玩Siege的时候,我需要编写一个PHP脚本来执行一些繁重的MySQL操作,将其上传到服务器,将脚本URL作为parameter passing给Siege(安装在我的本地笔记本电脑上),然后让Siege模拟我的并发stream量。

sqlite插入需要很长时间

我插入一个sqlite数据库表只有200,000行。 我只是在terminal中通过sqlite3使用非常简单的.sql文件。 我敢打赌它已经跑了至less30分钟了。 这是正常的,还是应该closures这个过程,尝试一些不同的东西?

从PL / SQL调用shell脚本,但shell作为网格用户而不是oracle执行

我正在尝试使用Runtime.getRuntime().exe执行Oracle数据库内的shell脚本。 运行在Red Hat 5.5上的Oracle 11.2.0.4 EE CREATE OR REPLACE procedure pr_executa_host(p_cmd varchar2) as language java name 'Util.RunThis(java.lang.String)'; / public class Util extends Object { public static int RunThis(java.lang.String args) { Runtime rt = Runtime.getRuntime(); int rc = -1; try { Process p = rt.exec(args); int bufSize = 4096; BufferedInputStream bis = new BufferedInputStream(p.getInputStream(), bufSize); int […]

MYSQL巨大的SQL文件插入| MyISAM速度突然减慢插入(奇怪的问题)

我正面临着非常奇怪的问题,我在这里提出了关于加快在MYSQL中插入的问题,特别是关于插入大小为几GB的巨大SQL文件的问题。 他们build议我使用MyISAM引擎。 我做了以下几点: ALTER TABLE revision ENGINE=MyISAM; 使用ALTER TABLE .. DISABLE KEYS 。 (仅限MyISAM)将bulk_insert_buffer_size设置为500M。 (仅限MyISAM)设置unique_checks = 0 。 没有检查。 SET autocommit=0; … SQL import statements … COMMIT; SET foreign_key_checks=0; 这加快了5分钟,过去花了2个小时的过程,我留下了深刻的印象。 但现在当我尝试与其他表相同的事情,那么没有加速,并需要几个小时了 (… 当我最初获得成功比我的CPU使用率大约是90% ,插入只需要5分钟,但现在按照相同的程序,我的CPU使用率是最多5%左右 。 它显示错误.. 我也通过以下方法validation了我的表引擎是MyISAM: SHOW TABLE STATUS WHERE Name = 'xxx'; 注意:我正在使用维基百科数据库schema.I在Wikipedia数据集的Categorylinks表上获得成功。 我在修订 , 页面和文本表没有成功(非常慢的插入速度)。 请帮我解决这个奇怪的问题。

Postgres不允许本地主机,但与127.0.0.1

Postgres不接受连接,如果我说-h localhost但它的作品,如果我说-h 127.0.0.1 [root@5d9ca0effd7f opensips]# psql -U postgres -h localhost -W Password for user postgres: psql: FATAL: Ident authentication failed for user "postgres" [root@5d9ca0effd7f opensips]# psql -U postgres -h 127.0.0.1 -W Password for user postgres: psql (8.4.20) Type "help" for help. postgres=# 我的/var/lib/pgsql/data/pg_hba.conf # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain […]

简单,快速的SQL查询平面文件

有没有人知道任何工具提供简单,快速查询平面文件使用类似SQL的声明性查询语言? 我宁愿不支付将文件加载到数据库的开销,因为input数据通常在查询运行后立即被抛出。 考虑数据文件“animals.txt”: dog 15 cat 20 dog 10 cat 30 dog 5 cat 40 假设我想为每个独特的动物提取最高的值。 我想写一些类似的东西: cat animals.txt | foo "select $1, max(convert($2 using decimal)) group by $1" 我可以得到几乎相同的结果使用sort : cat animals.txt | sort -t " " -k1,1 -k2,2nr 而且我总是可以从那里进入awk ,但是当类似SQL的语言似乎能够如此干净地解决问题时,这一切都感觉有点awk (无法抗拒)。 我已经考虑为SQLite编写一个封装器,它可以根据input数据自动创build一个表格,并且我已经研究过在单处理器模式下使用Hive,但是我不禁感觉到这个问题已经被解决了。 我错过了什么吗? 这个function是否已经被其他标准工具所实现? HALP!

Sequel Pro的Linux替代品? (基于GUI的sql导航器)

任何人有任何build议? 运行Debian并寻找一个好的select。

用于Linux和PHP 5.4的MSSQL服务器的本地ODBC驱动程序

我在Linux Debian 6 x64上安装了Apache 2.2.16和PHP 5.4.3。 要为Linux安装MSSQL Server的本机ODBC驱动程序,请使用以下说明: http : //www.codesynthesis.com/~boris/blog/2011/12/02/microsoft-sql-server-odbc-driver-linux/ 我这样configuration我的odbc.ini文件: [mydsn] Driver = SQL Server Native Client 11.0 Database = datbase Server = xxx.xxx.xxx.xxx,port 和我的odbcinst.ini这样: [SQL Server Native Client 11.0] Description=Microsoft SQL Server ODBC Driver V1.0 for Linux Driver=/opt/microsoft/sqlncli/lib64/libsqlncli-11.0.so.1790.0 Threading=1 UsageCount=1 为了testing,我运行以下命令: $ isql -v mydsn dbusername dbpassword 我成功了: +—————————————+ | Connected! | […]

如何将表从一个mysql数据库复制到另一个mysql数据库

我需要将表从一个数据库复制到另一个。 这将是一个cronjob。 哪一个是最好的办法呢? PHP脚本或Shell脚本。 与PHP的问题,这两个数据库有不同的用户名和密码,所以我不能这样做。 CREATE TABLE db1.table1 SELECT * FROM db2.table1 我应该只是连接第一个数据库获取所有logging,并使用WHILE循环插入到新的数据库或有更好的办法吗? 我更喜欢使用shell脚本来代替PHP脚本。 谢谢

在Linux或其他支持UTF-8的驱动程序上安装SQLSRV驱动程序?

SQLSRV是唯一能够将UTF-8string存储到双字节列( NVARCHAR而不是VARCHAR )的PHP驱动程序,该列目前由Microsoft为PHP 5.2.X和5.3.X维护和支持。 我也有链接,下载这些驱动程序Linux的SQLSRV驱动程序下载的Linux,但我无法configuration。 如果有人已经知道如何在Linux上configurationsqlsrv驱动程序,或者有其他的select,以UTF-8格式从SQL服务器检索数据,请分享。