SQL Server 2012引入了一种新的索引类型,称为列存储索引和新的查询运算符,这些运算符一次可以有效地处理一批行。这两个功能一起极大地提高了典型数据仓库查询的性能,在某些情况下提高了两个数量级。本文概述了列存储索引和批处理模式的设计,并总结了该技术为客户提供的主要好处。它还重点介绍了一些早期的客户体验和反馈,并简要讨论了列存储索引的未来增强功能。
我的问题是:
有什么方法可以将PHP-Mysql演示连接到该类型的数据库?
有很多引擎“基于MySql”,如下所示
无限数据库
Infobright
MonetDB
...等等
是否有PHP-Mysql的简单入门?
最佳答案
InfiniDB是GPLv2完全开放源代码MySQL Wire兼容数据库。它使用MySQL服务器作为前端,后端已更改并针对列存储进行了优化。 MyISAM和InnoDB表以及InfiniDB列表也受支持。开源版本和企业支持版本没有限制。根据需要使用尽可能多的节点和TB。如果现在使用MySQL,则可以替换InfiniDB,并且应该能够通过现有的MySQL接口进行连接。不要建议使用InfiniDB的打包cpimport实用程序将数据加载到表中,它已针对插入InfiniDB引擎进行了优化,建议使用它代替LOAD DATA。
顺便说一句,我是InfiniDB的架构师,所以这是我的偏见,可以自由尝试,使用和扩展:)
这是在本地针对我的InfiniDB实例运行的php.net中的示例PHP:
我更改了php.ini,使其指向InfiniDB安装中的mysql.sock(我在与DB相同的服务器上运行PHP)
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://www.php.net/manual/en/mysql.configuration.php#ini.mysql.default-socket
mysql.default_socket = /usr/local/Calpont/mysql/lib/mysql/mysql.sock
使用此phptest.php(基本上是php.net的副本,其中包含我自己的数据库和表)
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'root', '')
or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('wide') or die('Could not select database');
// Performing SQL query
$query = 'SELECT count(*) FROM wide';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// Printing results in HTML
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// Free resultset
mysql_free_result($result);
// Closing connection
mysql_close($link);
?>
然后运行:
[root@michael-vm2 tmp]# php phptest.php
Connected successfully<table>
<tr>
<td>100000</td>
</tr>
</table>
这完全是InfiniDB的库存安装。只需更改您的create语句以指定engine = infinidb,您就可以开始了。
http://infinidb.co/