亚洲日韩av在线观看_日韩一级欧美一级_亚洲自偷自拍另类11p_久久午夜色播影院_中国黄色三级毛片_伊人久久一区二区三区小说_国产精品va无码二区_国产三区在线视频_69热视频_日本亚洲天堂_99精品少妇_国产区 在线观看_天堂一区二区三区_大片免费在线观看视频_免费看黄色一级片_黄色毛片特级_国产 麻豆 日韩 欧美 久久_国产一级淫片s片sss毛片s级_欧美爱爱视频_精品无码一区二区三区水蜜桃

當前位置: 首頁編程開發PHP → PHP中常見數據庫問題及解決方法

PHP中常見數據庫問題及解決方法

更多
本文提到了關于PHP應用程序中的五個常見數據庫問題,包括有數據庫模式設計、數據庫訪問和使用數據庫的業務邏輯代碼,以及教大家如何去解決這類問題,希望對大家有所幫助。

  如果只有一種 方式使用數據庫是正確的……

  您可以用很多的方式創建數據庫設計、數據庫訪問和基于數據庫的 PHP 業務邏輯代碼,但最終一般以錯誤告終。本文說明了數據庫設計和訪問數據庫的 PHP 代碼中出現的五個常見問題,以及在遇到這些問題時如何修復它們。

  問題 1:直接使用 MySQL

  一個常見問題是較老的 PHP 代碼直接使用 mysql_ 函數來訪問數據庫。清單 1 展示了如何直接訪問數據庫。

  清單 1. access/get.php

 

<?php
function get_user_id( $name )
{
 $db = mysql_connect( 'localhost', 'root', 'password' );
 mysql_select_db( 'users' );

 $res = mysql_query( "SELECT id FROM users WHERE login='".$name."'" );
 while( $row = mysql_fetch_array( $res ) ) { $id = $row[0]; }

 return $id;
}

var_dump( get_user_id( 'jack' ) );
?>


  注意使用了 mysql_connect 函數來訪問數據庫。還要注意查詢,其中使用字符串連接來向查詢添加 $name 參數。

  該技術有兩個很好的替代方案:PEAR DB 模塊和 PHP Data Objects (PDO) 類。兩者都從特定數據庫選擇提供抽象。因此,您的代碼無需太多調整就可以在 IBM? DB2?、MySQL、PostgreSQL 或者您想要連接到的任何其他數據庫上運行。

  使用 PEAR DB 模塊和 PDO 抽象層的另一個價值在于您可以在 SQL 語句中使用 ? 操作符。這樣做可使 SQL 更加易于維護,且可使您的應用程序免受 SQL 注入攻擊。

  使用 PEAR DB 的替代代碼如下所示。

  清單 2. Access/get_good.php

 

<?php
require_once("DB.php");

function get_user_id( $name )
{
 $dsn = 'mysql://root:password@localhost/users';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $res = $db->query( 'SELECT id FROM users WHERE login=?',array( $name ) );
 $id = null;
 while( $res->fetchInto( $row ) ) { $id = $row[0]; }

 return $id;
}

var_dump( get_user_id( 'jack' ) );
?>


  注意,所有直接用到 MySQL 的地方都消除了,只有 $dsn 中的數據庫連接字符串除外。此外,我們通過 ? 操作符在 SQL 中使用 $name 變量。然后,查詢的數據通過 query() 方法末尾的 array 被發送進來。

  問題 2:不使用自動增量功能

  與大多數現代數據庫一樣,MySQL 能夠在每記錄的基礎上創建自動增量惟一標識符。除此之外,我們仍然會看到這樣的代碼,即首先運行一個 SELECT 語句來找到最大的 id,然后將該 id 增 1,并找到一個新記錄。清單 3 展示了一個示例壞模式。

  清單 3. Badid.sql

 

DROP TABLE IF EXISTS users;
CREATE TABLE users (
id MEDIUMINT,
login TEXT,
password TEXT
);

INSERT INTO users VALUES ( 1, 'jack', 'pass' );
INSERT INTO users VALUES ( 2, 'joan', 'pass' );
INSERT INTO users VALUES ( 1, 'jane', 'pass' );


  這里的 id 字段被簡單地指定為整數。所以,盡管它應該是惟一的,我們還是可以添加任何值,如 CREATE 語句后面的幾個 INSERT 語句中所示。清單 4 展示了將用戶添加到這種類型的模式的 PHP 代碼。

  清單 4. Add_user.php

 

<?php
require_once("DB.php");

function add_user( $name, $pass )
{
 $rows = array();

 $dsn = 'mysql://root:password@localhost/bad_badid';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $res = $db->query( "SELECT max(id) FROM users" );
 $id = null;
 while( $res->fetchInto( $row ) ) { $id = $row[0]; }

 $id += 1;

 $sth = $db->prepare( "INSERT INTO users VALUES(?,?,?)" );
 $db->execute( $sth, array( $id, $name, $pass ) );

 return $id;
}

$id = add_user( 'jerry', 'pass' );

var_dump( $id );
?>


  add_user.php 中的代碼首先執行一個查詢以找到 id 的最大值。然后文件以 id 值加 1 運行一個 INSERT 語句。該代碼在負載很重的服務器上會在競態條件中失敗。另外,它也效率低下。

  那么替代方案是什么呢?使用 MySQL 中的自動增量特性來自動地為每個插入創建惟一的 ID。更新后的模式如下所示。

  清單 5. Goodid.php

 

DROP TABLE IF EXISTS users;
CREATE TABLE users (
 id MEDIUMINT NOT NULL AUTO_INCREMENT,
 login TEXT NOT NULL,
 password TEXT NOT NULL,
 PRIMARY KEY( id )
);

INSERT INTO users VALUES ( null, 'jack', 'pass' );
INSERT INTO users VALUES ( null, 'joan', 'pass' );
INSERT INTO users VALUES ( null, 'jane', 'pass' );


  我們添加了 NOT NULL 標志來指示字段必須不能為空。我們還添加了 AUTO_INCREMENT 標志來指示字段是自動增量的,添加 PRIMARY KEY 標志來指示那個字段是一個 id。這些更改加快了速度。清單 6 展示了更新后的 PHP 代碼,即將用戶插入表中。

  清單 6. Add_user_good.php

 

<?php
require_once("DB.php");

function add_user( $name, $pass )
{
 $dsn = 'mysql://root:password@localhost/good_genid';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $sth = $db->prepare( "INSERT INTO users VALUES(null,?,?)" );
 $db->execute( $sth, array( $name, $pass ) );

 $res = $db->query( "SELECT last_insert_id()" );
 $id = null;
 while( $res->fetchInto( $row ) ) { $id = $row[0]; }

 return $id;
}

$id = add_user( 'jerry', 'pass' );

var_dump( $id );
?>


  現在我不是獲得最大的 id 值,而是直接使用 INSERT 語句來插入數據,然后使用 SELECT 語句來檢索最后插入的記錄的 id。該代碼比最初的版本及其相關模式要簡單得多,且效率更高。

  問題 3:使用多個數據庫

  偶爾,我們會看到一個應用程序中,每個表都在一個單獨的數據庫中。在非常大的數據庫中這樣做是合理的,但是對于一般的應用程序,則不需要這種級別的分割。此外,不能跨數據庫執行關系查詢,這會影響使用關系數據庫的整體思想,更不用說跨多個數據庫管理表會更困難了。 那么,多個數據庫應該是什么樣的呢?首先,您需要一些數據。清單 7 展示了分成 4 個文件的這樣的數據。

  清單 7. 數據庫文件

 

Files.sql:
CREATE TABLE files (
 id MEDIUMINT,
 user_id MEDIUMINT,
 name TEXT,
 path TEXT
);

Load_files.sql:
INSERT INTO files VALUES ( 1, 1, 'test1.jpg', 'files/test1.jpg' );
INSERT INTO files VALUES ( 2, 1, 'test2.jpg', 'files/test2.jpg' );

Users.sql:
DROP TABLE IF EXISTS users;
CREATE TABLE users (
 id MEDIUMINT,
 login TEXT,
 password TEXT
);

Load_users.sql:
INSERT INTO users VALUES ( 1, 'jack', 'pass' );
INSERT INTO users VALUES ( 2, 'jon', 'pass' );


  在這些文件的多數據庫版本中,您應該將 SQL 語句加載到一個數據庫中,然后將 users SQL 語句加載到另一個數據庫中。用于在數據庫中查詢與某個特定用戶相關聯的文件的 PHP 代碼如下所示。

  清單 8. Getfiles.php

 

<?php
require_once("DB.php");

function get_user( $name )
{
 $dsn = 'mysql://root:password@localhost/bad_multi1';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $res = $db->query( "SELECT id FROM users WHERE login=?",array( $name ) );
 $uid = null;
 while( $res->fetchInto( $row ) ) { $uid = $row[0]; }

 return $uid;
}

function get_files( $name )
{
 $uid = get_user( $name );

 $rows = array();

 $dsn = 'mysql://root:password@localhost/bad_multi2';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $res = $db->query( "SELECT * FROM files WHERE user_id=?",array( $uid ) );
 while( $res->fetchInto( $row ) ) { $rows[] = $row; }
 return $rows;
}

$files = get_files( 'jack' );

var_dump( $files );
?>


  get_user 函數連接到包含用戶表的數據庫并檢索給定用戶的 ID。get_files 函數連接到文件表并檢索與給定用戶相關聯的文件行。
 做所有這些事情的一個更好辦法是將數據加載到一個數據庫中,然后執行查詢,比如下面的查詢。

  清單 9. Getfiles_good.php

 

<?php
require_once("DB.php");

function get_files( $name )
{
 $rows = array();

 $dsn = 'mysql://root:password@localhost/good_multi';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $res = $db->query("SELECT files.* FROM users, files WHERE
users.login=? AND users.id=files.user_id",
array( $name ) );
 while( $res->fetchInto( $row ) ) { $rows[] = $row; }

 return $rows;
}

$files = get_files( 'jack' );

var_dump( $files );
?>


  該代碼不僅更短,而且也更容易理解和高效。我們不是執行兩個查詢,而是執行一個查詢。

  盡管該問題聽起來有些牽強,但是在實踐中我們通常總結出所有的表應該在同一個數據庫中,除非有非常迫不得已的理由。

  問題 4:不使用關系---www.002pc.com

  關系數據庫不同于編程語言,它們不具有數組類型。相反,它們使用表之間的關系來創建對象之間的一到多結構,這與數組具有相同的效果。我在應用程序中看到的一個問題是,工程師試圖將數據庫當作編程語言來使用,即通過使用具有逗號分隔的標識符的文本字符串來創建數組。請看下面的模式。

  清單 10. Bad.sql

 

DROP TABLE IF EXISTS files;
CREATE TABLE files (
 id MEDIUMINT,
 name TEXT,
 path TEXT
);

DROP TABLE IF EXISTS users;
CREATE TABLE users (
 id MEDIUMINT,
 login TEXT,
 password TEXT,
 files TEXT
);

INSERT INTO files VALUES ( 1, 'test1.jpg', 'media/test1.jpg' );
INSERT INTO files VALUES ( 2, 'test1.jpg', 'media/test1.jpg' );
INSERT INTO users VALUES ( 1, 'jack', 'pass', '1,2' );


  系統中的一個用戶可以具有多個文件。在編程語言中,應該使用數組來表示與一個用戶相關聯的文件。在本例中,程序員選擇創建一個 files 字段,其中包含一個由逗號分隔的文件 id 列表。要得到一個特定用戶的所有文件的列表,程序員必須首先從用戶表中讀取行,然后解析文件的文本,并為每個文件運行一個單獨的 SELECT 語句。該代碼如下所示。

  清單 11. Get.php

 

<?php
require_once("DB.php");

function get_files( $name )
{
 $dsn = 'mysql://root:password@localhost/bad_norel';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $res = $db->query( "SELECT files FROM users WHERE login=?",array( $name ) );
 $files = null;
 while( $res->fetchInto( $row ) ) { $files = $row[0]; }

 $rows = array();

 foreach( split( ',',$files ) as $file )
 {
  $res = $db->query( "SELECT * FROM files WHERE id=?",
  array( $file ) );
  while( $res->fetchInto( $row ) ) { $rows[] = $row; }
 }

 return $rows;
}

$files = get_files( 'jack' );

var_dump( $files );
?>


  該技術很慢,難以維護,且沒有很好地利用數據庫。惟一的解決方案是重新架構模式,以將其轉換回到傳統的關系形式,如下所示。

  清單 12. Good.sql

 

DROP TABLE IF EXISTS files;
CREATE TABLE files (
 id MEDIUMINT,
 user_id MEDIUMINT,
 name TEXT,
 path TEXT
);

DROP TABLE IF EXISTS users;
CREATE TABLE users (
 id MEDIUMINT,
 login TEXT,
 password TEXT
);

INSERT INTO users VALUES ( 1, 'jack', 'pass' );
INSERT INTO files VALUES ( 1, 1, 'test1.jpg', 'media/test1.jpg' );
INSERT INTO files VALUES ( 2, 1, 'test1.jpg', 'media/test1.jpg' );


  這里,每個文件都通過 user_id 函數與文件表中的用戶相關。這可能與任何將多個文件看成數組的人的思想相反。當然,數組不引用其包含的對象 —— 事實上,反之亦然。但是在關系數據庫中,工作原理就是這樣的,并且查詢也因此要快速且簡單得多。清單 13 展示了相應的 PHP 代碼。

  清單 13. Get_good.php

 

<?php
require_once("DB.php");

function get_files( $name )
{
 $dsn = 'mysql://root:password@localhost/good_rel';
 $db =& DB::Connect( $dsn, array() );
 if (PEAR::isError($db)) { die($db->getMessage()); }

 $rows = array();
 $res = $db->query("SELECT files.* FROM users,files WHERE users.login=?
AND users.id=files.user_id",array( $name ) );
 while( $res->fetchInto( $row ) ) { $rows[] = $row; }
 return $rows;
}

$files = get_files( 'jack' );

var_dump( $files );
?>


  這里,我們對數據庫進行一次查詢,以獲得所有的行。代碼不復雜,并且它將數據庫作為其原有的用途使用。

  問題 5:n+1 模式

  我真不知有多少次看到過這樣的大型應用程序,其中的代碼首先檢索一些實體(比如說客戶),然后來回地一個一個地檢索它們,以得到每個實體的詳細信息。我們將其稱為 n+1 模式,因為查詢要執行這么多次 —— 一次查詢檢索所有實體的列表,然后對于 n 個實體中的每一個執行一次查詢。當 n=10 時這還不成其為問題,但是當 n=100 或 n=1000 時呢?然后肯定會出現低效率問題。清單 14 展示了這種模式的一個例子。

  清單 14. Schema.sql

 

DROP TABLE IF EXISTS authors;
CREATE TABLE authors (
 id MEDIUMINT NOT NULL AUTO_INCREMENT,
 name TEXT NOT NULL,
 PRIMARY KEY ( id )
);

DROP TABLE IF EXISTS books;
CREATE TABLE books (
 id MEDIUMINT NOT NULL AUTO_INCREMENT,
 author_id MEDIUMINT NOT NULL,
 name TEXT NOT NULL,
 PRIMARY KEY ( id )
);

INSERT INTO authors VALUES ( null, 'Jack Herrington' );
INSERT INTO authors VALUES ( null, 'Dave Thomas' );

INSERT INTO books VALUES ( null, 1, 'Code Generation in Action' );
INSERT INTO books VALUES ( null, 1, 'Podcasting Hacks' );
INSERT INTO books VALUES ( null, 1, 'PHP Hacks' );
INSERT INTO books VALUES ( null, 2, 'Pragmatic Programmer' );
INSERT INTO books VALUES ( null, 2, 'Ruby on Rails' );
INSERT INTO books VALUES ( null, 2, 'Programming Ruby' );


  該模式是可靠的,其中沒有任何錯誤。問題在于訪問數據庫以找到一個給定作者的所有書籍的代碼中,如下所示。

  清單 15. Get.php

 

<?php
require_once('DB.php');

$dsn = 'mysql://root:password@localhost/good_books';
$db =& DB::Connect( $dsn, array() );
if (PEAR::isError($db)) { die($db->getMessage()); }

function get_author_id( $name )
{
 global $db;

 $res = $db->query( "SELECT id FROM authors WHERE name=?",array( $name ) );
 $id = null;
 while( $res->fetchInto( $row ) ) { $id = $row[0]; }
 return $id;
}

function get_books( $id )
{
 global $db;

 $res = $db->query( "SELECT id FROM books WHERE author_id=?",array( $id ) );
 $ids = array();
 while( $res->fetchInto( $row ) ) { $ids []= $row[0]; }
 return $ids;
}

function get_book( $id )
{
 global $db;

 $res = $db->query( "SELECT * FROM books WHERE id=?", array( $id ) );
 while( $res->fetchInto( $row ) ) { return $row; }
 return null;
}

$author_id = get_author_id( 'Jack Herrington' );
$books = get_books( $author_id );
foreach( $books as $book_id ) {
 $book = get_book( $book_id );
 var_dump( $book );
}
?>


  如果您看看下面的代碼,您可能會想,“嘿,這才是真正的清楚明了。” 首先,得到作者 id,然后得到書籍列表,然后得到有關每本書的信息。的確,它很清楚明了,但是其高效嗎?回答是否定的。看看只是檢索 Jack Herrington 的書籍時要執行多少次查詢。一次獲得 id,另一次獲得書籍列表,然后每本書執行一次查詢。三本書要執行五次查詢!

  解決方案是用一個函數來執行大量的查詢,如下所示。

  清單 16. Get_good.php

 

<?php
require_once('DB.php');

$dsn = 'mysql://root:password@localhost/good_books';
$db =& DB::Connect( $dsn, array() );
if (PEAR::isError($db)) { die($db->getMessage()); }

function get_books( $name )
{
 global $db;

 $res = $db->query("SELECT books.* FROM authors,books WHERE books.author_id=authors.id AND authors.name=?",
 array( $name ) );
 $rows = array();
 while( $res->fetchInto( $row ) ) { $rows []= $row; }
  return $rows;
 }

 $books = get_books( 'Jack Herrington' );
 var_dump( $books );
?>


  現在檢索列表需要一個快速、單個的查詢。這意味著我將很可能必須具有幾個這些類型的具有不同參數的方法,但是實在是沒有選擇。如果您想要具有一個擴展的 PHP 應用程序,那么必須有效地使用數據庫,這意味著更智能的查詢。

  本例的問題是它有點太清晰了。通常來說,這些類型的 n+1 或 n*n 問題要微妙得多。并且它們只有在數據庫管理員在系統具有性能問題時在系統上運行查詢剖析器時才會出現。

  結束語

  數據庫是強大的工具,就跟所有強大的工具一樣,如果您不知道如何正確地使用就會濫用它們。識別和解決這些問題的訣竅是更好地理解底層技術。長期以來,我老聽到業務邏輯編寫人員抱怨,他們不想要必須理解數據庫或 SQL 代碼。他們把數據庫當成對象使用,并疑惑性能為什么如此之差。

  他們沒有認識到,理解 SQL 對于將數據庫從一個困難的必需品轉換成強大的聯盟是多么重要。如果您每天使用數據庫,但是不熟悉 SQL,那么請閱讀 The Art of SQL,這本書寫得很好,實踐性也很強,可以指導您基本了解數據庫。

熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
主站蜘蛛池模板: 永宏建设工程有限公司| 安徽博微电气有限公司| 华润电力(常熟)有限公司| 安徽徽安置业有限公司| 安徽金源热电有限公司.| 上海创富融资租赁有限公司| 上海宝姿化妆品有限公司| 深圳泰瑞捷有限公司| 和田昆仑枣业有限公司| 天壕新能源有限公司| 华菱衡钢钢管有限公司| 南通景观工程有限公司| 东莞光华实业有限公司| 深圳深爱半导体有限公司| 浙江石油新能源有限公司| 深圳市中天实业有限公司| 深圳茂业百货有限公司| 佛山市顺德区汽车贸易有限公司| 亚太金行贵金属有限公司| 北京乐美教育有限公司| 凯嘉机械制造有限公司| 新韩通船舶重工有限公司| 同济人建筑设计有限公司| 厦门宏达电子有限公司| 长沙盛隆机械有限公司| 本斯智能电器有限公司| 深圳标远汽车有限公司| 摩根泛美家具有限公司| 陕西水泥制品有限公司| 迈力特 精密 机械有限公司| 上海杉并服装有限公司| 华鼎机械制造有限公司| 富德能源化工发展有限公司| 太平洋国际旅行社有限公司| 济南 有限公司 外贸| 中科广州化学有限公司| 上海佳礼礼品有限公司| 龙岩曹溪)有限公司| 华盛天涯水泥有限公司| 广州电力安装有限公司| 常州诚联制造有限公司| 摩托罗拉系统有限公司| 广州德发贸易有限公司| 保定精密机械有限公司| 史丹利五金有限公司| 阳光游乐设备有限公司| 三星深圳有限公司招聘| 深圳福瑞来电子有限公司| 山东数码有限公司怎么样| 深圳佰斯德光电有限公司| 深圳市宏捷电子有限公司| 至卓飞高线路板有限公司| 天津国大药房有限公司| 山东春雪食品有限公司-| 南宁交通轨道有限公司| 合肥会通材料有限公司| 深圳先进光学有限公司| 中山好宝宝有限公司| 重庆环松工业有限公司| 深圳华强动漫有限公司| 葵花药业佳木斯有限公司| 江西康缘药业有限公司| 维达湖北纸业有限公司| 陕西金地置业有限公司| 佛山天华印业有限公司| 远东电缆有限公司北京| 有限公司 公章 尺寸| 鑫鸿机电设备有限公司| 成都华气厚普机电有限公司| 深圳市三英有限公司| 广东万昌印刷有限公司| 三源环保工程有限公司| 杭州从民食品有限公司| 万香园食品有限公司| 维尔康制药有限公司| 上海恐龙纺织有限公司| 成都英德生物有限公司| 琥珀 墙纸有限公司| 沈阳芯源电子设备有限公司| 南通家瑞纺织品有限公司| 锦州自动化设备有限公司| 宗申动力机械有限公司| 山东鲁厨厨业有限公司| 重庆大江摩托车有限公司| 安美润滑油有限公司| 业全电子深圳有限公司| 陕西榆林煤化有限公司| 青岛德盛食品有限公司| 同济钢结构有限公司| 大康 化工有限公司| 鸿泰自动化设备有限公司| 天津富禄通信技术有限公司| 科耐欧贸易上海有限公司| 阿乐斯(广州)有限公司| 深圳嘉莹电子有限公司| 众凯汽车零部件有限公司| 万家购科贸有限公司| 陕西陕化煤化工有限公司| 明日电器设备有限公司| 无锡华润上华有限公司| 南京德纳化工有限公司| 江西森能源有限公司| 互太番禺纺织印染有限公司 | 苏州中新金属有限公司| 烟台金子生物工程有限公司| 新疆建设与发展有限公司| 青岛天铸机械有限公司| 天津圣凯工业有限公司| 广州国际纸业有限公司| 上海百润香精香料有限公司| 华顺钢结构有限公司| 顺德数控机械有限公司| 世纪草本药业有限公司| 艾普进出口有限公司| 河北乙连生物有限公司| 天晟建设工程有限公司| 山东金城生物有限公司| 万得汽车技术有限公司| 派克密封件有限公司| 武汉隆电器有限公司| 东莞市天弘有限公司| 山东国邦药业有限公司| 名幸电子(广州)有限公司| 重庆银河仪器有限公司| 洛阳金诺机械工程有限公司| 哈尔滨哈飞工业有限公司| 赛利涂层技术有限公司| 易事特电力系统有限公司| 深圳市骏艺有限公司| 重庆音响工程有限公司| 安徽绿宝电缆有限公司| 蓝门有限公司怎么样| 深圳金瑞实业有限公司| 深圳市欣威电子有限公司| 宁夏源林生物发电有限公司| 深圳东达实业有限公司| 香港华泰金融有限公司| 上海嘉春装饰工程有限公司| 北京现代有限公司招聘| 苏净仪器自控设备有限公司| 合肥市消防有限公司| 华夏线路板有限公司| 广东一真 有限公司| 三江源药业有限公司| 福建 鞋材有限公司 招聘| 广州品峰塑料制品有限公司| 昆明生物制品有限公司| 广州竞和机械有限公司| 深圳住友电子制品有限公司| 冶金电炉设备有限公司| 高利尔天津包装有限公司| 天之蓝电器有限公司| 洛阳新奥燃气有限公司| 深圳浩通电子有限公司| 河北恒泵业有限公司| 金威体育用品有限公司| 时唛特电器有限公司| 江苏地质工程有限公司| 浙江化工进出口有限公司| 北京雷蒙德阀门有限公司| 恒昌医疗器械有限公司| 博格华纳天津有限公司| 深圳数码印刷有限公司| 深圳市众磊有限公司| 英尼克电器有限公司| 北部湾建设有限公司| 新汇康健康有限公司| 青岛纺织品进出口有限公司 | 上海艾维贸易有限公司| 深圳市泰德实业有限公司| 御品珍食品有限公司| 杭州城市建设发展有限公司| 达生市场推广有限公司| 嘉信浩远信息技术有限公司| 山东鲁重机械有限公司| 阿曼达进出口有限公司| 深圳迅锐通信有限公司| 杭州加多宝有限公司| 顺江装饰工程有限公司| 中外运普菲斯有限公司| 昆仑能源有限公司地址| 深圳中海监理有限公司| 西安思坦仪器有限公司| 荣亿精密机械有限公司| 安特威阀门有限公司| 中橡鞍山化学工业有限公司| 广西设备招标有限公司| 波鹰机械制造有限公司| 北京医药产业有限公司| 立兴门窗配件有限公司| 致诚建筑设计有限公司| 无锡工业技术有限公司| 深圳市融易投有限公司| 诺思格医药有限公司| 河南宝鼎建设工程有限公司| 东莞旺金电子有限公司| 开泰体育用品有限公司| 上海法雷奥汽车电机有限公司| 英菲克电子有限公司| 商洛 农业 有限公司| 吴江 钢架彩板有限公司| 邦讯信息系统有限公司| 金圣电子东莞有限公司| 德州建筑工程有限公司| 成都西部石油装备有限公司| 天津帅先电器有限公司| 开泰体育用品有限公司| 茜茜曼迪服饰有限公司| 深圳瑞兴实业有限公司| 广西南宁矿业有限公司| 一树山国际设计有限公司 | 科尔达电子有限公司| 泽顺机械制造有限公司| 安科讯电子有限公司| 威威尔安防有限公司| 北京昆仑信息技术有限公司 | 内蒙电力设备有限公司| 大华医药化工有限公司| 安徽铜陵铜业有限公司| 山东太平洋光缆有限公司| 安徽 建筑设备 有限公司| 德国大众汽车有限公司| 沈阳钢德不锈钢有限公司| 超汇链条深圳有限公司| 福基汽车配件有限公司| 苏州工业园区建屋发展有限公司| 川源苏州机械有限公司| 山东雅仕达家具有限公司| 山阳(天津)机械有限公司| 乐清赛邦电气有限公司| 2014一人有限公司章程| 天景园林绿化工程有限公司| 壹亩田实业有限公司| 天津融创置地有限公司| 清连公路发展有限公司| 普宁医疗器械有限公司| 中铁多式联运有限公司| 三星电子深圳有限公司| 佛山环球陶瓷有限公司| tcl通讯 宁波 有限公司| 上海帛琦婴童有限公司| 美源金业贵金属经营有限公司 | 沃盛 上海 有限公司| 圣凯天津工业有限公司| 宁波塑料模具有限公司| 富士迈半导体精密工业有限公司| 意创力电子有限公司| 御味园食品有限公司| 沙钢国际贸易有限公司| 上海特力屋有限公司| 力克系统(上海)有限公司| 阿斯利康 无锡 贸易有限公司| 张万福珠宝有限公司| 铃鹿复合建材上海有限公司| 浙江佐力药业有限公司| 卓美华视光电有限公司| 优派电子深圳有限公司| 深圳市智联技术有限公司| 金鹏塑料异型材制造有限公司| 富智康廊坊有限公司| 东莞正扬电子有限公司| 深圳伏尔特电气有限公司| 湖州置业有限公司电话| 富丽达制衣有限公司| 深圳东和精密有限公司| 长治轴承制造有限公司| 易武正山茶叶有限公司| 深圳市嘉源实业有限公司| 贵州黎阳发动机有限公司| 新天地医药有限公司| 无锡泛亚电子有限公司| 康美健康云有限公司| 同致行物业顾问有限公司| 倍康信息技术有限公司| 秦老太食品有限公司| 成都大众园林有限公司| 杭州世创电子有限公司| 硕士儿童用品有限公司| 杭州和泰机电有限公司| 新兴的信息技术有限公司| 海宇医疗器械有限公司| 容威聚氨酯有限公司| 四川成蜀电力建设有限公司| 济南泉景置业有限公司| 宜春市有限公司 矿| 副食品贸易有限公司| 武汉二电线电缆有限公司| 四达医疗器械有限公司| 青岛电气成套设备有限公司| 中粮东莞粮油工业有限公司| 江苏汽车租赁有限公司| 杭州中兴通讯有限公司| 沈阳有色冶金机械有限公司| 大连盛宏船舶有限公司| 国力机械制造有限公司| 建滔河北焦化有限公司| 协顺灯饰惠州有限公司| 华工激光设备有限公司| 创世纪实业有限公司| 富力进出口有限公司| 金隅鼎鑫水泥有限公司| 常州市产业发展有限公司| 邓禄普轮胎销售有限公司| 常州数控机械设备有限公司| 广威机械制造有限公司| 宁波 塑料 贸易有限公司| 创值高科信息技术有限公司| 江苏超电器有限公司| 深圳市金达兴五金制品有限公司| 安徽航务工程有限公司| 松下健康医疗有限公司| 马氏庄园食品有限公司| 稻香园食品有限公司| 荔隆建设工程有限公司| 普联技术有限公司 地址| 上海 睿展贸易有限公司| 嘉华机械制造有限公司| 致微(厦门)仪器有限公司| 佰特装饰工程有限公司| 佛山市童车有限公司| 东莞印铁制罐有限公司| 信华食品 漳州 有限公司| 重庆电缆有限公司招聘| 江苏精密模具有限公司| 东莞泰达电子有限公司| 广州本和食品有限公司| 上海toto有限公司| 嘉兴 通信技术有限公司| 桑尼尼汽车零部件有限公司| 华德宝机械有限公司| 上海兴韬汽车配件有限公司| 成都科阀门有限公司| 暨通信息发展有限公司| 猫的营销策划有限公司| 深圳市耀嵘有限公司| 温州市瓯海眼镜有限公司| 昊阳装饰工程有限公司| 仁居装饰工程有限公司| 雅加斯厨柜有限公司| 东风鸿泰销售有限公司| 福建美图铝业有限公司| 山东制冷工程有限公司| 网盾 上海有限公司| 天津塔塔信息技术有限公司| 陕西地理测绘有限公司| 杭州永的服装有限公司| 滨州三元生物有限公司| 三鼎机械制造有限公司| 成都珪一食品有限公司| 福建通用航空有限公司| 徽品装饰工程有限公司| 上海欧科电子有限公司| 北京网库信息技术有限公司| 思思乐食品有限公司| 南昌光明化验设备有限公司| 南昌红又红实业有限公司| 广州高的尔电子有限公司| 淮安市劳务有限公司| 成都科星电器有限公司| 北京模拟技术有限公司| 中山印花材料有限公司| 深圳市创明电池有限公司| 深圳市天亿电子有限公司| 奔达汽车配件有限公司| 苏州通信工程有限公司| 烟台市有限公司招聘| 扬州 旅游 有限公司招聘| 郑州之星汽车有限公司| 青岛水产饲料有限公司| 太仓市包装有限公司| 无锡华润上华有限公司| 深圳凯丰实业有限公司| 安徽徽成电气有限公司| 淄博办公设备有限公司| 克缇日用品有限公司| 合肥美菱电器有限公司| 凯利新材料有限公司| 兴达混凝土有限公司| 宏电电瓷电器有限公司| 思宏时装中山有限公司| 广济大药房有限公司| 深圳众赢时代有限公司| 嘉兴浩天实业有限公司| 北京兴盛汽车销售有限公司| 河南世纪地产有限公司| 中兴通讯杭州有限公司| 伟佳金属制品有限公司| 广东体育用品有限公司| 东莞川富电子有限公司| 宝生堂化妆品有限公司| 日海通信工程有限公司| 夏津县食品有限公司| 陕西烽火有限公司招聘| 西安 曹 有限公司| 英派来进出口有限公司| 奥美工业 深圳 有限公司| 喜乐多食品有限公司| 泰来县米业有限公司| 昆山康龙电子有限公司| 斯美尔光电有限公司| 苏腾机械设备有限公司| 苏州久保田农业机械有限公司| 苏州井利电子有限公司| 深圳多美贸易有限公司| 吉林葡萄酒业有限公司| 中信保利达地产有限公司| 华宁电气实业有限公司| 顾问有限公司 英文| 广州市天高有限公司| 杭州秦杭贸易有限公司| 上海新兴医药有限公司| 合鑫机械制造有限公司| 复地明珠置业有限公司| 新世纪通讯有限公司| 嘉兴易嘉机械有限公司| 河南麦草动漫有限公司| 力知茂汽车配件有限公司| 浙江佰资金融有限公司| 永丰热镀锌有限公司| 广州柏兰生物制品有限公司| 青海钢结构工程有限公司| 深圳多美贸易有限公司| 德奥机电设备有限公司| 沈阳国润热力有限公司| 深圳市鑫宝电子有限公司| 上海银信担保有限公司| 江西鸽鸽食品有限公司| 三洋电机深圳有限公司| 天成环保设备有限公司| 西马克苏州有限公司| 帝玛尔藏药药业有限公司| 三力士橡胶 有限公司| 首创装饰工程有限公司| 渤海石油钻探工程有限公司| 广西玉柴机械有限公司| 一品堂食品有限公司| 瑞普动物药业有限公司| 扬州建扬工程建设监理有限公司| 菲林格尔木业有限公司| 上汽通用销售有限公司| 厦门百路达工业有限公司| 常州冈热机械有限公司| 常州制宇机械制造有限公司| 陕西华星电子有限公司| 兴利尊典家具有限公司| 成都乐动信息有限公司| 丰创机械有限公司招聘| 南海坚铝铝业有限公司| 雄邦压铸 南通 有限公司| 上海伊士曼有限公司| 锐珂厦门医疗有限公司| 上海斌斌国际贸易有限公司| 深圳君诚电子有限公司| 精英电脑苏州有限公司| 莫利电机(嘉兴)有限公司| 杭州超声波设备有限公司| 昊阳天宇深圳有限公司| 世贸易有限公司 招聘| 天津常天管道有限公司| 四川瑞电力工程有限公司 | 杭州鑫鑫金属材料有限公司| 山西环境监测有限公司| 肇庆通产玻璃有限公司| 九昱电子苏州有限公司| 一丁信息技术有限公司| 凯思特电子有限公司| 耐普罗(深圳)有限公司| 厦门安费诺有限公司| 北京万都汽车部件有限公司| 上海欧时电子有限公司| 地中海航运有限公司上海| 战友旅行社有限公司| 鼎力包装机械有限公司| 山东领航电子有限公司| 百来太阳能有限公司| 上海大众南京有限公司| 陕西阳光实业有限公司| 北京鑫鑫建筑装饰有限公司| 邦健医药连锁有限公司| 东莞市市政工程有限公司| 林德气体厦门有限公司| 鹏天医疗器械有限公司| 上海 十 有限公司招聘| 万都汽车部件有限公司| 中粤马口铁有限公司| 沈阳天然气有限公司| 金诚小额贷款有限公司| 宁夏长城机床有限公司| 金润信息技术有限公司| 厦门青岛啤酒有限公司| 山东恒泰实业有限公司| 拾味馆餐饮连锁有限公司| 深圳新都酒店有限公司| 青岛高校软控有限公司| 雷蒙德阀门制造有限公司| 防火门窗制造有限公司| 天津神技夹具设备有限公司| 大陆泰密克汽车系统上海有限公司 | 东莞力生机械设备有限公司| 湖南铭德医药有限公司| 及安盾消防设备有限公司 | 华农农业技术有限公司| 青岛中船重工轨道装备有限公司| 盛华亚贸易有限公司| 中粤进出口有限公司| 电站辅机总厂有限公司| 福州福药制药有限公司| 华一精密机械有限公司| 飞鱼秀实业有限公司| 上海天正机电有限公司| 深圳市融易投有限公司| 江苏苏通阀门有限公司| 东莞瑞必达有限公司| 博世汽车部件有限公司招聘| 士林电机有限公司招聘| 融天建设工程有限公司| 高空作业设备有限公司| 配料贸易上海有限公司| 家利家具(东莞)有限公司| 深圳捷通电子有限公司| 杭州塔塔信息技术有限公司| 大连华晨客车有限公司| 北京乐美教育有限公司| 无锡特瑞堡减震器有限公司 | 东瑞机电设备有限公司| 广州油墨化工有限公司| 常熟达明电子有限公司| 深圳艾礼富电子有限公司| 江西森能源有限公司| 深圳博科瑞有限公司| 瑞达塑料制品有限公司| 上海石油交易中心有限公司 | 东盟国际贸易有限公司| 钦州钢结构有限公司| 莫利(嘉兴)电机有限公司| 科顺 脚轮有限公司| 银融国际融资租赁有限公司| 美新建筑设计有限公司| 鞍钢冷轧莆田有限公司| 顺德科顺电器有限公司| 深圳市德兴电子有限公司| 金城化学(江苏)有限公司| 华润停车场有限公司| 上海荷美尔有限公司| 宁波港国际贸易有限公司| 深圳兴禾自动化有限公司| 丰田汽车金融有限公司| 畅捷支付技术有限公司| 惠州电力工程有限公司| 浙江塑井塑业有限公司| 山东建业机械有限公司| 贵州东方酒业有限公司| 通宇新材料有限公司| 苏州日本电波工业有限公司| 招商局重工江苏有限公司| 中冀联合通讯技术有限公司| 保定天河环境有限公司| 华泰橡塑机械有限公司| 苏州安防技术有限公司| 顺德乐华陶瓷洁具有限公司| 晋江市安海食品有限公司| 福州药业有限公司招聘| 新科隆电器有限公司| 上海国诚金融有限公司| 杭州雅莱贸易有限公司| 中山久的电器有限公司| 万达转向系统有限公司| 沈阳办公用品有限公司| 福伊特驱动技术系统有限公司 | 凯凯电动工具有限公司| 华源显示技术有限公司| 优尼冲压有限公司招聘| 满洲里 有限公司 食品| 北京汇仁力达有限公司| 济南诺能生物有限公司| 天芝-敏迪通讯有限公司| 博耳无锡电力成套有限公司| 锦恒汽车安全系统有限公司| 深圳华强电子世界有限公司| 海口港码头有限公司| 塑化贸易(上海)有限公司| 嘉年华装饰工程有限公司| 广州条码设备有限公司| 日铭电脑上海有限公司| 山西金属制品有限公司| 张家港织带有限公司| 新大洋电动车有限公司| 吉安市建筑工程有限公司| 爱斯佩克环境仪器有限公司| 中建二局土木工程有限公司 | 京东方半导体有限公司| 信联包装容器有限公司| 乖乖虎服饰有限公司| 上海鼎为有限公司怎么样| 冀东海德堡水泥有限公司| 深圳市百泰珠宝首饰有限公司| 深圳新都酒店有限公司| 香贝尔食品有限公司| 广州日化实业有限公司| 汽车系统(江苏)有限公司| 广东港丰电器有限公司| 名家生活空间有限公司| 东莞智达电子有限公司| 泸州福酒业有限公司| 郑州奥奥食品有限公司| 贺德克上海有限公司| 清源新能源有限公司| 库尔兹 合肥有限公司| 中咨建设监理有限公司| 河南 肉食品有限公司| 优拓电子(广州)有限公司| 南通系统集成有限公司| 上海墙风实业有限公司| 长春化工(盘锦)有限公司| 螺旋桨制造有限公司| 广东国际招标有限公司| 维尔斯电子昆山有限公司| 有限公司2850442Z空间| 深圳南海酒店有限公司| 厦门市政工程设计院有限公司| 聚 纺织品有限公司怎么样| 中山市斯特电器有限公司| 广东省土产进出口有限公司| 康瑞思信息技术有限公司| 杭州比菲进出口有限公司| 山东蓝帆新材料有限公司| 深圳市庆新有限公司| 广州云辉包装有限公司| 上海贺德克技术有限公司| 新沂市机械有限公司| 百养堂实业有限公司| 虹信通信技术有限公司| 川亿电脑 深圳 有限公司| 安徽卫生材料有限公司| 超艺装饰工程有限公司| 陶氏化学 上海 有限公司| 新能源供热有限公司| 三门峡新能源有限公司| 银达融资担保有限公司| 百事利食品有限公司| 深圳晶金电子有限公司| 博奥克生物有限公司| 贵州商品混凝土有限公司| 摩根(苏州)有限公司| 橡胶机械设备有限公司| 杭州动力机械有限公司| 中铁四局钢结构有限公司| 易家厨食品有限公司| 宝鸡今麦郎有限公司| 飞创装饰工程有限公司| 光明荷斯坦牧业有限公司| 天津渤海有限公司招聘| 互太番禺纺织印染有限公司| 济南啤酒设备有限公司| 锦鑫建设工程有限公司| 江西塑胶制品有限公司| 现代牙科器材有限公司| 国宏消防安全工程有限公司| 筑原建筑设计有限公司| 立迪生物技术有限公司| 侨信装饰工程有限公司| 深圳年富实业有限公司| 上海衡拓实业有限公司| 山东鲁能电子有限公司| 特种玻璃纤维有限公司|