質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

3回答

7830閲覧

【laravel・RDS】DBに保存されている配列がnullになり取得できない(取得するjson配列が途中で切れる)

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

3グッド

3クリップ

投稿2017/10/04 06:26

編集2017/10/05 16:34

###わからないこと
配列でIDを取得してそれをもとに一覧ページを表示しています。
しかし、該当箇所でnullとなり、dd()で確認したところ、配列が途中までしか表示されておりませんでした。
すべての表示結果でそうなるわけではなく、一定数以上の件数でのみそうなっており、データ量が影響しているのではと考えております。
どうしてそうなるのかがわかっておらず、したがってどう対処すればよいのかわかっておりません。
ご教授いただければ幸いです。

※変数に格納してあるデータが1Mちょうどで収まっているのを確認しました。つまり1Mを超えたデータについては切られている状況になります。
そのため、json配列の「 ] 」も切られているので、nullが取得されていると考えています。

###コード

protected $casts = array( 'result' => 'array', 'query' => 'array', );
$data = Search::select('result', 'query')->where('id', 5)->first(); $all = $data ? $data['result'] : [];

上記の「$data['result']」にddをかけるとnullが取得されます。
※Searchはsearchesというテーブルを指します。
そのうちの「result」カラムが非常に肥大している状況です。
通常ですと、「result:[1, 2, 3, ..., 555555]」のように表示されるのですが、「 result:[1, 2, 3, ..., 555554, 」と表示されています。
###テーブル構造
Name: searches
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 83424
Avg_row_length: 37212
Data_length: 3104407552
Max_data_length: 0
Index_length: 0
Data_free: 7340032
Auto_increment: 89328
Create_time: 2017-07-11 23:28:01
Update_time: 2017-10-04 06:19:23
Check_time: NULL
Collation: utf8_unicode_ci
Checksum: NULL
Create_options:
Comment:

よろしくお願いいたします。
##追加事項
###モデル

protected $table = 'searches'; protected $casts = array( 'id' => 'integer', 'result' => 'array', 'query' => 'array', );

###テーブル構造

`id` int(10) unsigned NOT NULL AUTO_INCREMENT, `result` longtext COLLATE utf8_unicode_ci NOT NULL, `query` longtext COLLATE utf8_unicode_ci NOT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=89390 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_c

###queryの中身

array:3 [▼ "pha" => array:18 [▶] "q" => "" "pri" => [] ]

###ddの結果

Search {#987 ▼ #table: "searches" #casts: array:3 [▶] #connection: null #primaryKey: "id" #perPage: 15 +incrementing: true +timestamps: true #attributes: array:2 [▼ "result" => "[142264,142265,142266,142263,142262,142261,142260,...] "query" => "{"phase":[1,2,3,5,6,8,12,32,10,11,28,29,27,26,25,31,24,0],"q":"","privacy":[]}" ]

##追記

$search = (int)request()->input('search'); if ($search) { $data = Search::select('result', 'query')->where('id', $search)->first(); dd(strlen($data->getAttributeFromArray('result'))); $all = $data ? $data['result'] : []; $q = isset($data['query']['q']) ? $data['query']['q'] : ''; $phaseIds[0] = isset($data['query']['phase']) ? $data['query']['phase'] : []; $privacy = isset($data['query']['privacy']) ? $data['query']['privacy'] : []; } else { $phaseIds[0] = array_unique(array_map('intval', (array)request()->input('phase'))); if ($phaseIds[0]) { } elseif (request()->ajax()) { unset($phaseIds[0]); unset($phaseIds[1]); $phaseIds = array_values($phaseIds); } else { $phaseIds[0] = array_values(array_diff(last($phaseIds),(array)Option::getArray(Option::JPHASE_FINISH))); } // 検索フォームでの検索値の取得 $q = (string)request()->input('q'); // 各種ポータルサイトへの公開/非公開設定の取得 $privacy = array_unique((array)request()->input('privacy')); // 全案件のidを取得 $all = self::commitSearch($q, $phaseIds[0], $privacy); // インスタンスの生成 $search = new Search(); $search['result'] = $all; $search['query'] = ['phase'=>$phaseIds[0],'q'=>$q,'privacy'=>$privacy]; $search->save(); $search = $search['id']; }
public static function commitSearch($q, $phaseIds, $privacy, $ids = NULL) { $fulltext = Fulltext::where('type', 'job')->orderBy('time','DESC'); if ($ids) $fulltext->whereIn('main_id', $ids); if ($phaseIds) $fulltext->whereIn('phase_id', $phaseIds); if ($q !== '') $fulltext->whereIndex($q); if (!$privacy || count($privacy) === 3) { return array_map('intval', $fulltext->lists('main_id')->toArray()); } elseif (!($ids = array_map('intval', Job::whereIn('privacy', $privacy)->lists('id')->toArray()))) { return []; } elseif (count($ids) <= 10000) { $fulltext->whereIn('main_id', $ids); return array_map('intval', $fulltext->lists('main_id')->toArray()); } else { return array_values(array_intersect(array_map('intval', $fulltext->lists('main_id')->toArray()), $ids)); } }

###追記②
「strlen(getAttribute['result'])」:1041645

「substr(getAttribute['result'], -10)」:"7392,7372,"

「LENGTH(result)」:1053784

「RIGHT(result, 10)」:1576,3449]

##現状報告
調べたところ、1MBを境目にエラーが発生しているようです。
そのため、phpとmysqlの設定をあらっている現状になります。

####バージョン
php7
laravel5.1
データベース:RDS(mysql5.7)

kitsune, Frank_👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masaya_ohashi

2017/10/04 07:08 編集

ddの処理は際限なく出力するようにはなっていないかと思います。phpのvar_dumpのように文字数制限等が掛かっていると思われます。なので、配列が途切れているように見えるのは、配列が途中までしか取得されていないのではなく、単にddによる出力の限界かと思います。 肝心なnullになる箇所のコード、およびsearchesのテーブル構成、Searchのモデルクラスを見せてもらえないとこの問題は進展しないかと思います。
退会済みユーザー

退会済みユーザー

2017/10/04 07:22

ご指摘ありがとうございます。追記いたしましたので、ご確認をお願いいたします。
masaya_ohashi

2017/10/04 07:35

nullになる箇所のコードは開示できないのでしょうか?
退会済みユーザー

退会済みユーザー

2017/10/04 08:04

失礼いたしました。コードを追記いたしました。
masaya_ohashi

2017/10/04 08:15

「上記の「$data['result']」にddをかけるとnullが取得されます。」とありますが、同じ$dataに対して'query'をddに掛けると正しく表示されますか?
退会済みユーザー

退会済みユーザー

2017/10/04 08:18

はい、正しく表示されます。念のためqueryの中身も記載しました
masaya_ohashi

2017/10/04 08:27 編集

DBに保存されたresultの値は正しく]で閉じられていますか?
masaya_ohashi

2017/10/04 08:29 編集

SELECT RIGHT(result, 10) FROM searches WHERE id = 5; 等のクエリで、右端から10文字程度抜き出して確認してみてください。
退会済みユーザー

退会済みユーザー

2017/10/04 08:35

188,75,36] と「]」がDB上では閉じられています
masaya_ohashi

2017/10/04 08:55

SELECT LENGTH(result) AS LEN, (LENGTH(result) - LENGTH(REPLACE(result, ',', ''))) / LENGTH(',') AS CNT FROM searches WHERE id = 5; これを実行して、該当のカラムの文字列としての長さ、および何個の','があるか確認してみてください。
退会済みユーザー

退会済みユーザー

2017/10/04 08:57

Length:55、Cnt:8.000と出力されました
退会済みユーザー

退会済みユーザー

2017/10/04 09:00

失礼いたしました。Length:11626、Cnt:2389.000がエラーが出ているものになります。
masaya_ohashi

2017/10/04 09:04

そのresultの値をDBから直接抜き出してここに貼ることは可能ですか?
退会済みユーザー

退会済みユーザー

2017/10/04 09:06

カンマを挟む数値もすべて掲載するのは難しいです。数値の個数が非常に多いので。
masaya_ohashi

2017/10/04 09:22

一度$castsからresultを削除してddで出力を試してもらえますか?
退会済みユーザー

退会済みユーザー

2017/10/04 09:27

「ErrorException in helpers.php line 685: preg_replace(): Parameter mismatch, pattern is a string while replacement is an array」というエラーが出てきてしまうので、castでarrayを設定するのは必須した
masaya_ohashi

2017/10/04 09:30 編集

では$data->getAttributeFromArray('result')をddで出力してみてください。これはcastを通さず、そのままの値が得られるメソッドです。
masaya_ohashi

2017/10/05 05:35

保存処理が怪しくなってきましたので、resultを入れて保存しているところのコードを見せてください。
masaya_ohashi

2017/10/05 05:43

ではデータベースのデータが正しくphpに渡されているかを疑いましょう。エラーが起きているデータのidをはっきりさせた上で、そのレコードの$data->getAttibuteFromArray('result')の文字列の長さと、データベース上のLENGTHを比較してください。
退会済みユーザー

退会済みユーザー

2017/10/05 05:49

かしこまりました。getAttibuteFromArrayですが、use先はModelで間違いないでしょうか?
masaya_ohashi

2017/10/05 05:52 編集

use先というのがよくわかりませんが、Search型のインスタンスでgetAttributeFromArrayしてください。具体的にいうとstrlen($data->getAttributeFromArray('result'))の結果が知りたいです。
退会済みユーザー

退会済みユーザー

2017/10/05 05:55

すみません、BadMethodCallException in Builder.php line 2123: Call to undefined method Illuminate\Database\Query\Builder::getAttibuteFromArray()と表示され、use宣言先がどこなのかわかっておりません。
masaya_ohashi

2017/10/05 05:57

なぜBuilderから呼び出される形に…?$data = Search::select('result', 'query')->where('id', 5)->first(); で取った$dataですよ?
masaya_ohashi

2017/10/05 05:59

保存箇所追記してもらえたようですけど、これcommitSearchというメソッドが何を返しているかがわからない、このあと$search->save()がどのタイミングで呼ばれているかわかりませんよ?
退会済みユーザー

退会済みユーザー

2017/10/05 06:02

失礼いたしました。量が多いですが、追記いたしました。また、$data = Search::select('result', 'query')->where('id', 5)->first();の後にコードしたのですが、なぜかBuilderに繋がります
退会済みユーザー

退会済みユーザー

2017/10/05 06:06

$search->save()が呼ばれるタイミングですが、まず検索条件で検索結果を$searchをテーブルにすべて保存し(idで保存しています)、それを1ページ50件で区切って表示させています。
masaya_ohashi

2017/10/05 06:09

すみません、よく調べてみたところ、getAttributeFromArrayはprotectedなメソッドであったため、getAttributes()['result']で代用してください。
退会済みユーザー

退会済みユーザー

2017/10/05 06:14

DBでは、Length:1051656、Cnt:157323.0000、PHPでは1048576と表示されました。ご推測の通り件数がずれていると思われます
masaya_ohashi

2017/10/05 06:19

私の回答を修正したので、修正後のコードで再度試してみてください。
guest

回答3

0

ベストアンサー

これまで切り分け頂いている結果から、おそらく下記が該当するのではないかと思います。

LaravelとMySQLで1048576の罠

PDOでMySQLに接続している場合、PDO::MYSQL_ATTR_MAX_BUFFER_SIZEのデフォルト値が1MiBとなっており、それ以上のサイズの列を取得することができないという事象です。

対処としては、上記サイトにもあるように、app/config/database.phpの options で十分大きなサイズのバッファを確保するように指定することで対応できるのではないかと思います。
上記サイトでは16MBに設定しているようです。

投稿2017/10/05 17:17

編集2017/10/05 17:19
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/05 17:30

夜分遅くにありがとうございます!! 上記の設定にて無事表示させることができました。 ありがとうございました
masaya_ohashi

2017/10/06 00:04

すごい!モヤモヤが取れました!
guest

0

らちがあかないので、デコードでなにが起きたのかエラーを検知するコードを作りました。直接的な問題の解決ではないですが、手がかりになるかと思います。

php

1$data = Search::select('result', 'query')->where('id', 5)->first(); 2 3$json_array = json_decode($data->getAttributes()['result'])); 4 5// この処理を追加 6switch (json_last_error()) { 7 case JSON_ERROR_NONE: dd('JSON_ERROR_NONE'); break; 8 case JSON_ERROR_DEPTH: dd('JSON_ERROR_DEPTH'); break; 9 case JSON_ERROR_STATE_MISMATCH: dd('JSON_ERROR_STATE_MISMATCH'); break; 10 case JSON_ERROR_CTRL_CHAR: dd('JSON_ERROR_CTRL_CHAR'); break; 11 case JSON_ERROR_SYNTAX: dd('JSON_ERROR_SYNTAX'); break; 12 case JSON_ERROR_UTF8: dd('JSON_ERROR_UTF8'); break; 13 case JSON_ERROR_RECURSION: dd('JSON_ERROR_RECURSION'); break; 14 case JSON_ERROR_INF_OR_NAN: dd('JSON_ERROR_INF_OR_NAN'); break; 15 case JSON_ERROR_UNSUPPORTED_TYPE: dd('JSON_ERROR_UNSUPPORTED_TYPE'); break; 16 case JSON_ERROR_INVALID_PROPERTY_NAME: dd('JSON_ERROR_INVALID_PROPERTY_NAME'); break; 17 case JSON_ERROR_UTF16: dd('JSON_ERROR_UTF16'); break; 18 }

追記

不整合の原因が、モデルへの変換過程で起きるのか、DBから値を取得する際に起こるのかを判断するため、このコードを試してください。

php

1// Modelへの代入を行わず、レコードをstdClassの配列形式で得られる 2$data = \DB::select(\DB::raw("SELECT * FROM searches WHERE id = :id"), ['id' => $id]); 3dd(strlen($data[0]->result)); 4// もし文字列長が正しければ以下も実験 5$a = json_decode($data[0]->result, true); 6dd($a);

投稿2017/10/05 05:21

編集2017/10/05 06:40
masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/05 05:25

何度も誠にありがとうございます。 上記早速試みましたが、JSON_ERROR_NONEが出力されました。
退会済みユーザー

退会済みユーザー

2017/10/05 06:21

ありがとうございます。 今度は「JSON_ERROR_SYNTAX」と表示されました
masaya_ohashi

2017/10/05 06:25

DBに保存された値がJSONとして正しくない、ということになります。やはり保存の処理の辺りで何か問題が起きているようですね。
masaya_ohashi

2017/10/05 06:25

あ、違うな、DBから読み込んでモデルに入れられた値がJSON形式から崩れている、が正しいかもしれないです。
退会済みユーザー

退会済みユーザー

2017/10/05 06:28

DBのデータの出力するところで崩れが起こってしまっているのですね・・・ ということは、それは配列を区切っているカンマがおかしなことになっているということでしょうか?
masaya_ohashi

2017/10/05 06:33

追記しました。追記したコードも試して長さを比べてください。
退会済みユーザー

退会済みユーザー

2017/10/05 06:36

ありがとうございます。 ただ、 FatalThrowableError in JobController.php line 192: Cannot use object of type stdClass as array のエラーが起こってしまいます。
masaya_ohashi

2017/10/05 06:41

すみません、自分でstdClass形式で得ると書いておきながらobject形式なアクセスをしてました。コードを修正しました。
退会済みユーザー

退会済みユーザー

2017/10/05 06:43

$data = \DB::select(\DB::raw("SELECT * FROM searches WHERE id = :id"), ['id' => $id]); dd(strlen($data[0]->result)); を試みましたが、文字列長は変わらずずれたままでした
masaya_ohashi

2017/10/05 06:47

確認なのですが、正しく読み込めるデータはずれないですか?
退会済みユーザー

退会済みユーザー

2017/10/05 06:48

正しく読み込めるデータというのはDBのデータでしょうか?
masaya_ohashi

2017/10/05 06:54

正しくresultにアクセス可能なデータ(nullにならない)の、PHP上でのstrlen($data->getAttributes()['result'])とDB上でのLENGTH(result)が同じかどうかです。
退会済みユーザー

退会済みユーザー

2017/10/05 06:57

はい、ズレなく一致していました。
masaya_ohashi

2017/10/05 07:06

ということは「DBからの読み込み時に、PHP側で何らかの理由で文字列が欠け落ちてしまう」ことが原因でほぼ間違いないようですね。その方面から探ってみましょう。
退会済みユーザー

退会済みユーザー

2017/10/05 07:10

かしこまりました ddした際に、var_dump同様すべての文字列が出力されないのは理解していますが、「...」もなくぶっつりと配列が切れているのは、文字列を完全に取得できていないこととは無関係でしょうか?
masaya_ohashi

2017/10/05 07:17

そういえばまだ「PHP側で受け取った文字列の末尾」がどうなっているか確認していませんでしたね。次はdd(substr($data->getAttributes()['result'], -10))) を試して末尾10文字程度がどうなっているか見てみましょう。
退会済みユーザー

退会済みユーザー

2017/10/05 07:20

"624,61669]" 問題なくありました。
退会済みユーザー

退会済みユーザー

2017/10/05 07:21

失礼いたしました! "7392,7372," ありませんでした
masaya_ohashi

2017/10/05 07:22

これは有力な情報ですね。そのデータはDB上の末尾は正しく]で終わっているものですよね?
退会済みユーザー

退会済みユーザー

2017/10/05 07:23

はい、仰る通り正しくは「 ] 」で終わるべきデータです。
masaya_ohashi

2017/10/05 07:24

いや、「べき」でなくちゃんと確認してください。DBでRIGHTを使って同一レコードの末尾が正しく]で閉じられているか確認してください。
退会済みユーザー

退会済みユーザー

2017/10/05 07:29

失礼いたしました。 1576,3449] ↑は同一IDによる同一レコードになります。
退会済みユーザー

退会済みユーザー

2017/10/05 07:52

確認したところ、PHP側でのjson出力では、どうも文字列が途中までしか出力されていないようです。
masaya_ohashi

2017/10/05 08:11

私の環境で1から50万の配列を作って同様の取得をしてみたのですが、普通に配列が取得出来てしまいました…
退会済みユーザー

退会済みユーザー

2017/10/05 08:16

php側の設定の問題でしょうか・・・
masaya_ohashi

2017/10/05 08:22

その可能性はあります。そろそろ私からの検証も限界に近いですね…念のため質問文に「エラーが起きるデータ」で取った「strlen(getAttribute['result'])」「substr(getAttribute['result'], -10)」「LENGTH(result)」「RIGHT(result, 10)」それぞれの値を表にしてまとめておいてもらえますか? それとLaravel、phpのバージョンも併記してみると他の人が何かピンとくるかもしれません。
退会済みユーザー

退会済みユーザー

2017/10/05 09:01

かしこまりました 正面から答えてくださり、ありがとうございました。
masaya_ohashi

2017/10/05 09:03

惜しい、LENGTH(result)が抜けています。
退会済みユーザー

退会済みユーザー

2017/10/05 09:10

ご指摘ありがとうございます。 修正しました
退会済みユーザー

退会済みユーザー

2017/10/05 17:31

無事回答を頂きまして解決することができました。 ご助力いただきましてありがとうございました
guest

0

Laravelの場合、クエリビルダーやEloquentクラスで結果を取得した場合、通常は配列ではなくオブジェクトになるのではないかと思います。

参考:
https://readouble.com/laravel/5.1/ja/queries.html
の「テーブルから1カラム/1レコード取得」項

そのため、
$data['result']

$data->result

に変更してはいかがでしょう?

投稿2017/10/05 05:03

nak

総合スコア696

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/05 05:05

ご回答ありがとうございます。 json_decodeで配列にするなども試みましたが、それでもやはりnullのままでした。
nak

2017/10/05 05:13

「他の関数を使ってオブジェクトを配列にする」ではなく、「$data->result」という書き方で、値を取得できるかどうかは試されましたか?(LaravelのEloquentクラスは単純なオブジェクトではなく、マジックメソッド等がいろいろ仕事をしているので、単にobject→arrayに変換するだけですとうまくいかないかもしれません) もしまだでしたら、一度そちらをお試しいただきたいです。
退会済みユーザー

退会済みユーザー

2017/10/05 05:16

アドバイスを頂いた通り、 「$all = $data ? $data['result'] : [];」 を 「$all = $data ? $data->result : [];」 に変更してみましたが、結果は同じでした。
退会済みユーザー

退会済みユーザー

2017/10/05 05:18

検索結果で表示される件数によってnullが出たり、配列が出たりと変わってしまっています。 15万件以上ですとnullに、それ以下ですと配列が出力される状況です。
masaya_ohashi

2017/10/05 05:34

ちょっと待ってください、質問でやり取りしていたresultの長さとカンマのカウントのときLENGTHは11626と言ってましたが、15万件のデータでresultが11626ってありえなくないですか?
masaya_ohashi

2017/10/05 05:35

カンマの数も15万に遠く及ばず2389です。これは保存処理自体が誤っているのではないでしょうか?
退会済みユーザー

退会済みユーザー

2017/10/05 05:39

+---------+-------------+ | LEN | CNT | +---------+-------------+ | 1052645 | 157470.0000 | +---------+-------------+ 失礼いたしました。 その際お渡ししたデータが誤っていました。 データについては上記でお願いします
nak

2017/10/05 05:42

ご確認ありがとうございます。 > 15万件以上ですとnullに、それ以下ですと配列が出力される状況です。 ということは、取得方法には問題なさそうですね。 データ量が多い時特有の問題のようですので、お役に立てない気がしてきました(申し訳ない限りです……)。 どうか解決にいたりますように。
退会済みユーザー

退会済みユーザー

2017/10/05 17:31

無事解決に至ることができました ありがとうございました!
nak

2017/10/06 03:04

よかったです。お二方とも、お疲れ様でした!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問