Cleaning “cron” from options table, will affect anything?

If you want a quick programmatic way of looping through everything you have in the cron row inside wp_options and you have access to the site’s database directly (either in a local development environment or on a webhost), you can run something like this via the command line:

mysql $YOUR_DB_NAME -e "SELECT option_value FROM wp_options WHERE option_name="cron";" | php -r '$cronArray = unserialize(file_get_contents("php://stdin")); foreach ($cronArray as $timestamp => $data) { echo $timestamp." --> ".date("c",$timestamp)."\n"; print_r($data); }'

I feel that viewing this information outside of any other context can sometimes be very illustrative. The above one-liner will give you output like the following that can then be examined further:

1446749050 --> 2015-11-05T18:44:10+00:00
Array
(
    [wp_version_check] => Array
        (
            [40cd750bba9870f18aada2478b24840a] => Array
            (
                [schedule] => twicedaily
                [args] => Array
                    (
                    )

                [interval] => 43200
            )

        )

)
1446751800 --> 2015-11-05T19:30:00+00:00
Array
(
[wp_maybe_auto_update] => Array
[...]

wp-cli is also a great option for viewing and editing this type of data:

$ wp option delete cron
Success: Deleted 'cron' option.
$ wp option get cron
array (
1447092802 =>
array (
'wp_version_check' =>
array (
  '40cd750bba9870f18aada2478b24840a' =>
  array (
    'schedule' => 'twicedaily',
    'args' =>
    array (
    ),
    'interval' => 43200,
  ),
),
'wp_update_plugins' =>
[...]

The important thing to keep in mind is that the cron row is one of WordPress’s autoloaded rows. This means that the data in this row has to be queried out of the database and processed by WordPress on every single page load. So you are definitely right to want to keep the size of this row as low as possible. As @mrbobbybryant mentioned, there are also plugins that let you view and edit what is in this row via WordPress directly.

When attempting to determine what should or shouldn’t be a part of this data, I would recommend looking for numerous entries of one type or any other elements that seem to not belong there. Once those elements are identified, you can work back and find the code they originated from and tweak how the crons operate there.

Also, while this shouldn’t be a factor if you’re up to date on your WordPress version, it is worth mentioning there was a bug that could lead to greatly increased sizes of cron option rows in WordPress 4.3: #33423 – Arguments switched in wp_batch_split_terms Cron Job in 4.3.

error code: 523