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/

09-25 19:52