GVKun编程网logo

PHP与MySQL数据库中排序的比照(php mysql 排序)

24

这篇文章主要围绕PHP与MySQL数据库中排序的比照和phpmysql排序展开,旨在为您提供一份详细的参考资料。我们将全面介绍PHP与MySQL数据库中排序的比照的优缺点,解答phpmysql排序的相

这篇文章主要围绕PHP与MySQL数据库中排序的比照php mysql 排序展开,旨在为您提供一份详细的参考资料。我们将全面介绍PHP与MySQL数据库中排序的比照的优缺点,解答php mysql 排序的相关问题,同时也会为您带来1、PHP-获取MySQL数据库查询结果行数 mysql数据库下载64位 sql数据库实例下载 sql数据库补丁下载、hadoop与mysql数据库相连读出数据、Mysql命令行导出远程mysql数据库到虚拟机本地mysql数据库中、MYSQL数据库MySQL按常规排序、自定义排序和按中文拼音字母排序的方法的实用方法。

本文目录一览:

PHP与MySQL数据库中排序的比照(php mysql 排序)

PHP与MySQL数据库中排序的比照(php mysql 排序)

 
 PHP与MySQL数据库中排序的比照及运用前提是本文我们重要要引见的内容,平日来说,实行服从需求思索CPU、内存和硬盘等的负载状况,假定MySQL服务器和PHP服务器都曾经依照*合适的方法来设置装备摆设,那么体系的可伸缩性(Scalability)和用户感知功能(User-perceived Performance)是我们寻求的重要目的。在实践运转中,MYSQL 中数据常常以 HASH tables、BTREE 等方法存贮于内存,操纵速率很快;同时INDEX 曾经停止了一些预排序;许多使用中,MySQL 排序是首选。
 PHP与MySQL比拟具有如下上风:
 1、思索整个网站的可伸缩性和团体功能,在使用层(PHP)中排序显着会低落数据库的负载,从而提拔整个网站的扩展才能。而数据库的排序,实践上本钱黑白常高的,耗费内存、CPU,假如并发的排序许多,DB 很轻易到瓶颈。
 2、假如在使用层(PHP)和MYSQL之间还存在数据中心层,公道应用,PHP会有更好的收益。
 3、PHP在内存中的数据构造特地针对详细使用来计划,比数据库更为简约、高效;
 4、PHP不消思索数据灾祸规复题目,能够淘汰这局部的操纵消耗;
 5、PHP不存在表的锁定题目;
 6、MySQL中排序,恳求和效果前往还需求经过收集衔接来停止,而PHP中排序之后就能够间接前往了,淘汰了收集IO。
 至于实行速率,差别应该不会很大,除非使用计划有题目,形成少量不用要的收集IO。别的,使用层要留意PHP 的 Cache 设置,假如凌驾会陈诉外部错误;此时要依据使用做好评价,大概调解Cache。详细选择,将取决于详细的使用。
 列出一些PHP中实行排序更优的状况:
 1、数据库不在MySQL 中,存在硬盘、内存大概来自收集的恳求等;
 2、数据存在 MySQL 中,量不大,并且没有响应的索引,此时把数据掏出来用PHP排序更快;
 3、数据库来自于多个MySQL 服务器,此时从多个 MySQL 中掏出数据,然后在PHP中排序更快;
 4、除了MySQL 之外,存在其他数据库,比方硬盘、内存大概来自收集的恳求等,此时不合适把这些数据存入MySQL 后再排序;
 列出一些必需在MySQL中排序的实例:
 1、MySQL中曾经存在这个排序的索引;
 2、MySQL中数据量较大,而效果集需求此中很小的一个子集;比方 1000000 行数据,取TOP 10;
 3、关于一次排序、屡次挪用的状况,比方统计聚合的情况,能够供应给差别的效劳运用,那么在MySQL 中排序是首选的。别的,关于数据深度发掘,平日做法是在使用层做完排序等庞大操纵,把效果存入MySQL即可,便于屡次运用。
 4、不管数据库来自那边,当数据量大到肯定的范围后,因为占用内存/Cache 的干系,不再合适PHP中排序了;此时把数据复制、导入大概存在MySQL ,并用INDEX 优化,是优于PHP 的。不外,用 Java,以至 C++ 来处置这类操纵会更好。 有些相似大数据集聚合大概汇总的数据,在客户端排序得失相当。固然,也有效相似查找引擎的思绪来处理相似使用的状况。
 从网站团体思索,就必需参加人力和本钱的思索。假设网站范围和负载较小,而人力无限(人数和才能都大概无限),此时在使用层(PHP)做排序要做不少开辟和调试事情,消耗工夫,得失相当;不如在DB 中处置,简易疾速。关于大范围的网站,电力、服务器的用度很高,在体系架构上一丝不苟,能够节省少量的用度,是公司连续开展之须要;此时假如能在使用层(PHP) 停止排序并餍足营业需求,只管即便在使用层停止。
 关于PHP中实行排序与MySQL中实行排序的相干学问就引见到这里了,盼望本次的引见可以对您有所劳绩!
本文章网址:http://www.ppssdd.com/code/148.html。转载请保留出处,谢谢合作!

1、PHP-获取MySQL数据库查询结果行数 mysql数据库下载64位 sql数据库实例下载 sql数据库补丁下载

1、PHP-获取MySQL数据库查询结果行数 mysql数据库下载64位 sql数据库实例下载 sql数据库补丁下载

首先需定义一个数据库接口函数,可单独存为一个php页面

<span><span><?php </span><span><span>function</span><span>db_connect</span><span>()</span> {</span><span>$result</span> = <span>new</span> mysqli(<span>''数据库地址''</span>, <span>''账号''</span>, <span>''密码''</span>, <span>''库名''</span>);<span>//连接数据库</span><span>if</span> (!<span>$result</span>) {
      <span>return</span><span>false</span>;<span>//连接失败</span>
   }
   <span>return</span><span>$result</span>;<span>//返回数据库对象</span>
}
<span>?&gt;</span></span></span>
登录后复制

在另一php页面中,首先需使用include函数包含上述php页面,也即需保证上述接口函数能被正确调用

<span><span><?php </span><span><span>function</span><span>output_rows</span><span>(<span>$seller_id</span>)</span>{</span><span>$conn</span> = db_connect();<span>//连接数据库</span><span>if</span> (!<span>$conn</span>) {<span>//无法连接数据库</span><span>echo</span><span>"can not connect mysql"</span>;
        <span>return</span><span>''fail_mysql''</span>;
    }
    <span>$result</span> = <span>$conn</span>-&gt;query(<span>"SELECT * FROM t_order WHERE seller_id= ''"</span>. <span>$seller_id</span>.<span>"'' "</span>);<span>//查询数据</span><span>echo</span><span>$result</span>-&gt;num_rows;  <span>//输出行数</span>
}
<span>?&gt;</span></span></span>
登录后复制

通过调用上述定义的函数即可显示sql查询结果的行数,上述函数通过$result = $conn->query("SELECT * FROM t_order WHERE seller_id= ''". $seller_id."'' ");进行数据库的查询,查询t_seller表中seller_id等于$seller_id的所有行,并将结果集赋给$result,再通过使用$result->num_rows可取得查询结果的行数,用echo进行输出显示

立即学习“PHP免费学习笔记(深入)”;

'').addClass(''pre-numbering'').hide(); $(this).addClass(''has-numbering'').parent().append($numbering); for (i = 1; i '').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了1、PHP-获取MySQL数据库查询结果行数,包括了Mysql数据库方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

hadoop与mysql数据库相连读出数据

hadoop与mysql数据库相连读出数据

转自:http://blog.csdn.net/qwertyu8656/article/details/6426054


用0.20.2版本 有些类已经过时 但必须要用 因为新版本对数据库连接支持不够

 

运行mysql创建数据库School,建立teacher表,并自行填写值

[c-sharp] view plaincopy

  1. DROP TABLE IF EXISTS `school`.`teacher`;  

  2.   

  3. CREATE TABLE  `school`.`teacher` (  

  4.   

  5.   `id` int(11) default NULL,  

  6.   

  7.   `name` char(20) default NULL,  

  8.   

  9.   `age` int(11) default NULL,  

  10.   

  11.   `departmentID` int(11) default NULL  

  12.   

  13. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;  

 

在eclipse中运行编译通过 但要加入必须的库 以及 hadoop0.20.2的eclipse的插件

[c-sharp] view plaincopy

  1. import java.io.IOException;  

  2.   

  3. import org.apache.hadoop.fs.Path;  

  4. import org.apache.hadoop.io.LongWritable;  

  5. import org.apache.hadoop.io.Text;  

  6. import org.apache.hadoop.mapred.FileOutputFormat;  

  7. import org.apache.hadoop.mapred.JobClient;  

  8. import org.apache.hadoop.mapred.JobConf;  

  9. import org.apache.hadoop.mapred.lib.IdentityReducer;  

  10. import org.apache.hadoop.mapred.lib.db.DBConfiguration;  

  11. import org.apache.hadoop.mapred.lib.db.DBInputFormat;  

  12.   

  13. public class DBAccess2 {  

  14.   

  15.    

  16.   

  17.       public static void main(String[] args) throws IOException {  

  18.   

  19.              JobConf conf = new JobConf(DBAccess2.class);  

  20.   

  21.              conf.setOutputKeyClass(LongWritable.class);  

  22.   

  23.              conf.setOutputValueClass(Text.class);  

  24.   

  25.    

  26.   

  27.              conf.setInputFormat(DBInputFormat.class);  

  28.   

  29.              FileOutputFormat.setOutputPath(conf, new Path("hdfs://localhost:9000/dbout"));  

  30.   

  31.               

  32.   

  33.              DBConfiguration.configureDB(conf,"com.mysql.jdbc.Driver",  

  34.   

  35.                         "jdbc:mysql://localhost:3306/school","root","zxcvbnm");  

  36.   

  37.    

  38.   

  39.              String [] fields = {"id""name""age""departmentID"};  

  40.   

  41.              DBInputFormat.setInput(conf, TeacherRecord.class"teacher",  

  42.   

  43.                         null"id", fields);  

  44.   

  45.               

  46.   

  47.              conf.setMapperClass(DBAccessMapper.class);  

  48.   

  49.              conf.setReducerClass(IdentityReducer.class);  

  50.   

  51.               

  52.   

  53.              JobClient.runJob(conf);  

  54.   

  55.       }  

  56.   

  57.    

  58.   

  59. }  

 

注:请自行修改数据库连接语句 用户名 密码 等等。

 

[c-sharp] view plaincopy

  1. import java.io.IOException;  

  2.   

  3. import org.apache.hadoop.io.LongWritable;  

  4. import org.apache.hadoop.io.Text;  

  5. import org.apache.hadoop.mapred.MapReduceBase;  

  6. import org.apache.hadoop.mapred.Mapper;  

  7. import org.apache.hadoop.mapred.OutputCollector;  

  8. import org.apache.hadoop.mapred.Reporter;  

  9.   

  10. public class DBAccessMapper extends MapReduceBase implements  

  11.   

  12. Mapper<LongWritable, TeacherRecord, LongWritable, Text> {  

  13.   

  14.    

  15.   

  16.       @Override  

  17.   

  18.       public void map(LongWritable key, TeacherRecord value,  

  19.   

  20.                     OutputCollector<LongWritable, Text> collector, Reporter reporter)  

  21.   

  22.                     throws IOException {  

  23.   

  24.              // TODO Auto-generated method stub  

  25.   

  26. collector.collect(new LongWritable(value.id),  

  27.   

  28.  new Text(value.toString()));  

  29.   

  30.       }  

  31.   

  32.        

  33.   

  34. }  

 

 

[c-sharp] view plaincopy

  1. import java.io.DataInput;  

  2. import java.io.DataOutput;  

  3. import java.io.IOException;  

  4. import java.sql.PreparedStatement;  

  5. import java.sql.ResultSet;  

  6. import java.sql.SQLException;  

  7.   

  8. import org.apache.hadoop.io.Text;  

  9. import org.apache.hadoop.io.Writable;  

  10. import org.apache.hadoop.mapred.lib.db.DBWritable;  

  11.   

  12. public class TeacherRecord implements Writable, DBWritable{  

  13.   

  14.    

  15.   

  16.       int id;  

  17.   

  18.       String name;  

  19.   

  20.       int age;  

  21.   

  22.       int departmentID;  

  23.   

  24.        

  25.   

  26.       @Override  

  27.   

  28.       public void readFields(DataInput in) throws IOException {  

  29.   

  30.              // TODO Auto-generated method stub  

  31.   

  32.              this.id = in.readInt();  

  33.   

  34.              this.name = Text.readString(in);  

  35.   

  36.              this.age = in.readInt();  

  37.   

  38.              this.departmentID = in.readInt();  

  39.   

  40.       }  

  41.   

  42.    

  43.   

  44.       @Override  

  45.   

  46.       public void write(DataOutput out) throws IOException {  

  47.   

  48.              // TODO Auto-generated method stub  

  49.   

  50.              out.writeInt(this.id);  

  51.   

  52.              Text.writeString(outthis.name);  

  53.   

  54.              out.writeInt(this.age);  

  55.   

  56.              out.writeInt(this.departmentID);  

  57.   

  58.       }  

  59.   

  60.    

  61.   

  62.       @Override  

  63.   

  64.       public void readFields(ResultSet result) throws SQLException {  

  65.   

  66.              // TODO Auto-generated method stub  

  67.   

  68.              this.id = result.getInt(1);  

  69.   

  70.              this.name = result.getString(2);  

  71.   

  72.              this.age = result.getInt(3);  

  73.   

  74.              this.departmentID = result.getInt(4);  

  75.   

  76.       }  

  77.   

  78.    

  79.   

  80.       @Override  

  81.   

  82.       public void write(PreparedStatement stmt) throws SQLException {  

  83.   

  84.              // TODO Auto-generated method stub  

  85.   

  86.              stmt.setInt(1, this.id);  

  87.   

  88.              stmt.setString(2, this.name);  

  89.   

  90.              stmt.setInt(3, this.age);  

  91.   

  92.              stmt.setInt(4, this.departmentID);  

  93.   

  94.       }  

  95.   

  96.    

  97.   

  98.       @Override  

  99.   

  100.       public String toString() {  

  101.   

  102.              // TODO Auto-generated method stub  

  103.   

  104.              return new String(this.name + " " + this.age + " " + this.departmentID);  

  105.   

  106.       }  

  107.   

  108.    

  109.   

  110. }  


Mysql命令行导出远程mysql数据库到虚拟机本地mysql数据库中

Mysql命令行导出远程mysql数据库到虚拟机本地mysql数据库中

首先了解一下MysqL的相关参数

参数名 缩写 含义
--host -h 服务器IP地址
--port -P 服务器端口号
--user --u MysqL 用户名
--pasword -p MysqL 密码
--databases 指定要备份的数据库
--all-databases 备份MysqL服务器上的所有数据库
--compact 压缩模式,产生更少的输出
--comments 添加注释信息
--complete-insert 输出完成的插入语句
--lock-tables 备份前,锁定所有数据库表
--no-create-db/--no-create-info 禁止生成创建数据库语句
--force 当出现错误时仍然继续备份操作
--default-character-set 指定默认字符集
--add-locks 备份数据库表时锁定数据库表

备份远程数据库

MysqLdump   -u root -p -h 172.18.160.111 -P3306  --databases dycrm>  /home/sql/dycrm.sql

还原到本地数据

MysqL -uroot -p -h127.0.0.1 -P3306 --database dycrm <  /home/sql/dycrm.sql

MYSQL数据库MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

MYSQL数据库MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

《MysqL数据库MysqL按常规排序、自定义排序和按中文拼音字母排序的方法》要点:
本文介绍了MysqL数据库MysqL按常规排序、自定义排序和按中文拼音字母排序的方法,希望对您有用。如果有疑问,可以联系我们。

MysqL常规排序、自定义排序和按中文拼音字母排序,在实际的sql编写时,我们有时候需要对条件集合进行排序.MysqL数据库

下面给出3种比较常用的排序方式,mark一下MysqL数据库

1.常规排序ASC DESCMysqL数据库

ASC 正序MysqL数据库

DESC倒叙MysqL数据库

-- 此处不用多讲MysqL数据库

2.自定义排序MysqL数据库

自定义排序是根据自己想要的特定字符串(数字)顺序进行排序.MysqL数据库

主要是使用函数 FIELD(str,str1,str2,str3,...)MysqL数据库

MysqL的自定义排序,str与str1、str2、str3...进行比较,并按照str1,str3...的顺序输出,如果遇到str为null或者不存在str1,str3...中的情况的则序列为0,MysqL数据库

eg:MysqL数据库

SELECT * FROM TEST ORDER BY FIELD(value,'test1','test2','test3','test4') ASC/DESC

eg2:MysqL数据库

SELECT * FROM TEST WHERE VALUE IN('test1','test4') ORDER BY FIELD(value,'test4') ASC/DESC -- 保证只满足条件的进行排序

3.按中文拼音字母排序MysqL数据库

如果表字段使用的GBK编码的话,我们可以直接order by value,因为GBK本身就是按照拼音字母排序ABCDEFGHIGK...,当第一位相同的时候会比较第二位,以此类推. 如果表字段使用的UTF-8编码的话,通常我们都会的编码,这样我们可以使用MysqL的convert方法开转换gbk进行排序.
MysqL数据库

eg:MysqL数据库

SELECT * FROM TEST ORDER BY CONVERT(value USING GBK) ASC/DESC

以上所述是小编给大家介绍的MysqL按常规排序、自定义排序和按中文拼音字母排序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对小编PHP网站的支持!MysqL数据库

关于PHP与MySQL数据库中排序的比照php mysql 排序的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于1、PHP-获取MySQL数据库查询结果行数 mysql数据库下载64位 sql数据库实例下载 sql数据库补丁下载、hadoop与mysql数据库相连读出数据、Mysql命令行导出远程mysql数据库到虚拟机本地mysql数据库中、MYSQL数据库MySQL按常规排序、自定义排序和按中文拼音字母排序的方法的相关知识,请在本站寻找。

本文标签: